Warning, file /include/boost/process/v1/detail/handler_base.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
0008
0009
0010
0011 #ifndef BOOST_PROCESS_DETAIL_HANDLER_BASE_HPP
0012 #define BOOST_PROCESS_DETAIL_HANDLER_BASE_HPP
0013
0014 #include <boost/process/v1/detail/config.hpp>
0015 #include <system_error>
0016
0017 namespace boost { namespace process { BOOST_PROCESS_V1_INLINE namespace v1 { namespace detail {
0018
0019 template<template <class> class Template>
0020 struct make_handler_t
0021 {
0022 constexpr make_handler_t() {}
0023 template<typename Handler>
0024 constexpr Template<Handler> operator()(Handler handler) const {return Template<Handler>(handler);}
0025 template<typename Handler>
0026 constexpr Template<Handler> operator= (Handler handler) const {return Template<Handler>(handler);}
0027 template<typename Handler>
0028 constexpr Template<Handler> operator+=(Handler handler) const {return Template<Handler>(handler);}
0029 };
0030
0031
0032 struct handler_base
0033 {
0034 using resource_type = void;
0035
0036 template <class Executor>
0037 void on_setup(Executor&) const {}
0038
0039 template <class Executor>
0040 void on_error(Executor&, const std::error_code &) const {}
0041
0042 template <class Executor>
0043 void on_success(Executor&) const {}
0044
0045 };
0046
0047
0048 }}}}
0049
0050 #endif