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 7 #ifndef BOOST_PROCESS_DETAIL_POSIX_ENV_INIT_HPP_ 8 #define BOOST_PROCESS_DETAIL_POSIX_ENV_INIT_HPP_ 9 10 11 #include <boost/process/detail/config.hpp> 12 #include <boost/process/detail/posix/handler.hpp> 13 #include <boost/process/environment.hpp> 14 15 namespace boost { namespace process { namespace detail { namespace posix { 16 17 template<typename Char> 18 struct env_init; 19 20 template<> 21 struct env_init<char> : handler_base_ext 22 { 23 boost::process::environment env; 24 env_initboost::process::detail::posix::env_init25 env_init(boost::process::environment && env) : env(std::move(env)) {}; env_initboost::process::detail::posix::env_init26 env_init(const boost::process::environment & env) : env(env) {}; 27 28 29 template <class Executor> on_setupboost::process::detail::posix::env_init30 void on_setup(Executor &exec) const 31 { 32 exec.env = env._env_impl; 33 } 34 35 }; 36 37 }}}} 38 39 40 41 #endif /* BOOST_PROCESS_DETAIL_WINDOWS_ENV_INIT_HPP_ */ 42