123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #ifndef BOOST_PROCESS_DETAIL_CMD_LINE_HPP
- #define BOOST_PROCESS_DETAIL_CMD_LINE_HPP
- #include <boost/winapi/config.hpp>
- #include <boost/process/v1/detail/config.hpp>
- #include <boost/process/v1/detail/handler_base.hpp>
- #include <boost/process/v1/detail/traits/cmd_or_exe.hpp>
- #include <boost/process/v1/detail/traits/wchar_t.hpp>
- #if defined(BOOST_POSIX_API)
- #include <boost/process/v1/detail/posix/cmd.hpp>
- #elif defined(BOOST_WINDOWS_API)
- #include <boost/process/v1/detail/windows/cmd.hpp>
- #endif
- namespace boost { namespace process { BOOST_PROCESS_V1_INLINE namespace v1 { namespace detail {
- struct cmd_
- {
- constexpr cmd_() = default;
- template<typename Char>
- inline api::cmd_setter_<Char> operator()(const Char *s) const
- { return api::cmd_setter_<Char>(s);
- }
- template<typename Char>
- inline api::cmd_setter_<Char> operator= (const Char *s) const
- {
- return api::cmd_setter_<Char>(s);
- }
- template<typename Char>
- inline api::cmd_setter_<Char> operator()(const std::basic_string<Char> &s) const
- {
- return api::cmd_setter_<Char>(s);
- }
- template<typename Char>
- inline api::cmd_setter_<Char> operator= (const std::basic_string<Char> &s) const
- {
- return api::cmd_setter_<Char>(s);
- }
- };
- template<> struct is_wchar_t<api::cmd_setter_<wchar_t>> : std::true_type {};
- template<>
- struct char_converter<char, api::cmd_setter_<wchar_t>>
- {
- static api::cmd_setter_<char> conv(const api::cmd_setter_<wchar_t> & in)
- {
- return { ::boost::process::v1::detail::convert(in.str()) };
- }
- };
- template<>
- struct char_converter<wchar_t, api::cmd_setter_<char>>
- {
- static api::cmd_setter_<wchar_t> conv(const api::cmd_setter_<char> & in)
- {
- return { ::boost::process::v1::detail::convert(in.str()) };
- }
- };
- }
- constexpr static ::boost::process::v1::detail::cmd_ cmd;
- }}}
- #endif
|