1 // Copyright (c) 2016 Klemens D. Morgenstern
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #ifndef BOOST_PROCESS_DETAIL_TRAITS_ENV_HPP_
7 #define BOOST_PROCESS_DETAIL_TRAITS_ENV_HPP_
10 #include <boost/process/detail/traits/decl.hpp>
13 namespace boost { namespace process {
15 template<typename Char>
16 class basic_environment;
18 template<typename Char>
19 class basic_native_environment;
23 template<typename Char>
29 template<typename Char> struct env_set;
30 template<typename Char> struct env_append;
32 template<typename Char> struct env_reset;
33 template<typename Char> struct env_init;
36 template<typename Char> struct initializer_tag<env_set<Char>> { typedef env_tag<Char> type; };
37 template<typename Char> struct initializer_tag<env_append<Char>> { typedef env_tag<Char> type; };
39 template<typename Char> struct initializer_tag<env_reset<Char>> { typedef env_tag<Char> type;};
40 template<typename Char> struct initializer_tag<env_init <Char>> { typedef env_tag<Char> type;};
42 template<typename Char> struct initializer_tag<::boost::process::basic_environment<Char>> { typedef env_tag<Char> type; };
43 template<typename Char> struct initializer_tag<::boost::process::basic_native_environment<Char>> { typedef env_tag<Char> type; };
45 template<> struct initializer_builder<env_tag<char>>;
46 template<> struct initializer_builder<env_tag<wchar_t>>;
53 #endif /* INCLUDE_BOOST_PROCESS_DETAIL_ENV_HPP_ */