/usr/include/boost/process/detail/traits
Edit: /usr/include/boost/process/detail/traits/decl.hpp (1994B)
// Copyright (c) 2016 Klemens D. Morgenstern
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_PROCESS_DETAIL_TRAITS_DECL_HPP_
#define BOOST_PROCESS_DETAIL_TRAITS_DECL_HPP_
#include
#include
#include
#if defined(BOOST_POSIX_API)
#include
#elif defined(BOOST_WINDOWS_API)
#include
#endif
namespace boost { namespace process { namespace detail {
template
struct is_initializer : std::is_base_of {};
template
struct is_initializer : std::is_base_of {};
template
struct initializer_tag;// { typedef void type; };
//remove const
template
struct initializer_tag { typedef typename initializer_tag::type type; };
//remove &
template
struct initializer_tag { typedef typename initializer_tag::type type; };
//remove const &
template
struct initializer_tag { typedef typename initializer_tag::type type; };
template
struct initializer_builder;
template
struct valid_argument_list;
template
struct valid_argument_list
{
constexpr static bool value = is_initializer::value || !std::is_void::type>::value;
typedef std::integral_constant type;
};
template
struct valid_argument_list
{
constexpr static bool my_value = is_initializer::value || !std::is_void::type>::value;
constexpr static bool value = valid_argument_list::value && my_value;
typedef std::integral_constant type;
};
}}}
#endif /* BOOST_PROCESS_DETAIL_HANDLER_HPP_ */