]>
Commit | Line | Data |
---|---|---|
b32b8144 FG |
1 | // Copyright (c) 2016 Klemens D. Morgenstern |
2 | // | |
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) | |
5 | ||
6 | #ifndef BOOST_PROCESS_DETAIL_TRAITS_ENV_HPP_ | |
7 | #define BOOST_PROCESS_DETAIL_TRAITS_ENV_HPP_ | |
8 | ||
9 | ||
10 | #include <boost/process/detail/traits/decl.hpp> | |
11 | ||
12 | ||
13 | namespace boost { namespace process { | |
14 | ||
15 | template<typename Char> | |
16 | class basic_environment; | |
17 | ||
18 | template<typename Char> | |
19 | class basic_native_environment; | |
20 | ||
21 | namespace detail { | |
22 | ||
23 | template<typename Char> | |
24 | struct env_tag {}; | |
25 | ||
26 | ||
27 | ||
28 | ||
29 | template<typename Char> struct env_set; | |
30 | template<typename Char> struct env_append; | |
31 | ||
32 | template<typename Char> struct env_reset; | |
33 | template<typename Char> struct env_init; | |
34 | ||
35 | ||
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; }; | |
38 | ||
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;}; | |
41 | ||
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; }; | |
44 | ||
45 | template<> struct initializer_builder<env_tag<char>>; | |
46 | template<> struct initializer_builder<env_tag<wchar_t>>; | |
47 | ||
48 | } | |
49 | ||
50 | ||
51 | }} | |
52 | ||
53 | #endif /* INCLUDE_BOOST_PROCESS_DETAIL_ENV_HPP_ */ |