11 #ifndef ASIO_EXECUTION_DETAIL_AS_RECEIVER_HPP 12 #define ASIO_EXECUTION_DETAIL_AS_RECEIVER_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 18 #include "asio/detail/config.hpp" 19 #include "asio/detail/type_traits.hpp" 20 #include "asio/traits/set_done_member.hpp" 21 #include "asio/traits/set_error_member.hpp" 22 #include "asio/traits/set_value_member.hpp" 24 #include "asio/detail/push_options.hpp" 30 template <
typename Function,
typename>
37 : f_(ASIO_MOVE_CAST(F)(f))
41 #if defined(ASIO_MSVC) && defined(ASIO_HAS_MOVE) 43 : f_(ASIO_MOVE_CAST(Function)(other.f_))
46 #endif // defined(ASIO_MSVC) && defined(ASIO_HAS_MOVE) 49 ASIO_NOEXCEPT_IF(noexcept(declval<Function&>()()))
55 void set_error(E) ASIO_NOEXCEPT
60 void set_done() ASIO_NOEXCEPT
70 template <
typename Function,
typename T>
79 #if !defined(ASIO_HAS_DEDUCED_SET_VALUE_MEMBER_TRAIT) 81 template <
typename Function,
typename T>
85 ASIO_STATIC_CONSTEXPR(
bool, is_valid =
true);
86 #if defined(ASIO_HAS_NOEXCEPT) 87 ASIO_STATIC_CONSTEXPR(
bool,
88 is_noexcept = noexcept(declval<Function&>()()));
89 #else // defined(ASIO_HAS_NOEXCEPT) 90 ASIO_STATIC_CONSTEXPR(
bool, is_noexcept =
true);
91 #endif // defined(ASIO_HAS_NOEXCEPT) 92 typedef void result_type;
95 #endif // !defined(ASIO_HAS_DEDUCED_SET_VALUE_MEMBER_TRAIT) 97 #if !defined(ASIO_HAS_DEDUCED_SET_ERROR_MEMBER_TRAIT) 99 template <
typename Function,
typename T,
typename E>
103 ASIO_STATIC_CONSTEXPR(
bool, is_valid =
true);
104 ASIO_STATIC_CONSTEXPR(
bool, is_noexcept =
true);
105 typedef void result_type;
108 #endif // !defined(ASIO_HAS_DEDUCED_SET_ERROR_MEMBER_TRAIT) 110 #if !defined(ASIO_HAS_DEDUCED_SET_DONE_MEMBER_TRAIT) 112 template <
typename Function,
typename T>
116 ASIO_STATIC_CONSTEXPR(
bool, is_valid =
true);
117 ASIO_STATIC_CONSTEXPR(
bool, is_noexcept =
true);
118 typedef void result_type;
121 #endif // !defined(ASIO_HAS_DEDUCED_SET_DONE_MEMBER_TRAIT) 126 #include "asio/detail/pop_options.hpp" 128 #endif // ASIO_EXECUTION_DETAIL_AS_RECEIVER_HPP Definition: set_done_member.hpp:38
Definition: as_receiver.hpp:31
Definition: handler_work.hpp:37
Definition: set_value_member.hpp:39
Definition: as_receiver.hpp:66
Definition: any_io_executor.hpp:28
Definition: set_error_member.hpp:38