54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
// 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_ENV_HPP_
|
|
#define BOOST_PROCESS_DETAIL_TRAITS_ENV_HPP_
|
|
|
|
|
|
#include <boost/process/detail/traits/decl.hpp>
|
|
|
|
|
|
namespace boost { namespace process {
|
|
|
|
template<typename Char>
|
|
class basic_environment;
|
|
|
|
template<typename Char>
|
|
class basic_native_environment;
|
|
|
|
namespace detail {
|
|
|
|
template<typename Char>
|
|
struct env_tag {};
|
|
|
|
|
|
|
|
|
|
template<typename Char> struct env_set;
|
|
template<typename Char> struct env_append;
|
|
|
|
template<typename Char> struct env_reset;
|
|
template<typename Char> struct env_init;
|
|
|
|
|
|
template<typename Char> struct initializer_tag<env_set<Char>> { typedef env_tag<Char> type; };
|
|
template<typename Char> struct initializer_tag<env_append<Char>> { typedef env_tag<Char> type; };
|
|
|
|
template<typename Char> struct initializer_tag<env_reset<Char>> { typedef env_tag<Char> type;};
|
|
template<typename Char> struct initializer_tag<env_init <Char>> { typedef env_tag<Char> type;};
|
|
|
|
template<typename Char> struct initializer_tag<::boost::process::basic_environment<Char>> { typedef env_tag<Char> type; };
|
|
template<typename Char> struct initializer_tag<::boost::process::basic_native_environment<Char>> { typedef env_tag<Char> type; };
|
|
|
|
template<> struct initializer_builder<env_tag<char>>;
|
|
template<> struct initializer_builder<env_tag<wchar_t>>;
|
|
|
|
}
|
|
|
|
|
|
}}
|
|
|
|
#endif /* INCLUDE_BOOST_PROCESS_DETAIL_ENV_HPP_ */
|