Warning, file /include/boost/process/v1/detail/posix/async_handler.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007 #ifndef BOOST_PROCESS_POSIX_ASYNC_HANDLER_HPP_
0008 #define BOOST_PROCESS_POSIX_ASYNC_HANDLER_HPP_
0009
0010 #include <boost/process/v1/detail/posix/handler.hpp>
0011 #include <type_traits>
0012
0013 namespace boost { namespace process { BOOST_PROCESS_V1_INLINE namespace v1 { namespace detail { namespace posix {
0014
0015 struct require_io_context {};
0016
0017 struct async_handler : handler_base_ext, require_io_context
0018 {
0019 };
0020
0021 template<typename T>
0022 struct is_async_handler : std::is_base_of<async_handler, T> {};
0023 template<typename T>
0024 struct is_async_handler<T&> : std::is_base_of<async_handler, T> {};
0025 template<typename T>
0026 struct is_async_handler<const T&> : std::is_base_of<async_handler, T> {};
0027
0028 template<typename T>
0029 struct does_require_io_context : std::is_base_of<require_io_context, T> {};
0030
0031 template<typename T>
0032 struct does_require_io_context<T&> : std::is_base_of<require_io_context, T> {};
0033
0034 template<typename T>
0035 struct does_require_io_context<const T&> : std::is_base_of<require_io_context, T> {};
0036
0037
0038 }}}}}
0039
0040 #endif