11 #ifndef ASIO_DETAIL_IS_EXECUTOR_HPP 12 #define ASIO_DETAIL_IS_EXECUTOR_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" 21 #include "asio/detail/push_options.hpp" 29 void on_work_started();
30 void on_work_finished();
42 template <
typename T, T>
48 char (&context_memfn_helper(...))[2];
51 char context_memfn_helper(
57 char (&on_work_started_memfn_helper(...))[2];
60 char on_work_started_memfn_helper(
66 char (&on_work_finished_memfn_helper(...))[2];
69 char on_work_finished_memfn_helper(
75 char (&dispatch_memfn_helper(...))[2];
78 char dispatch_memfn_helper(
84 char (&post_memfn_helper(...))[2];
87 char post_memfn_helper(
93 char (&defer_memfn_helper(...))[2];
96 char defer_memfn_helper(
101 template <
typename T>
103 : integral_constant<bool,
104 sizeof(context_memfn_helper<T>(0)) != 1 &&
105 sizeof(on_work_started_memfn_helper<T>(0)) != 1 &&
106 sizeof(on_work_finished_memfn_helper<T>(0)) != 1 &&
107 sizeof(dispatch_memfn_helper<T>(0)) != 1 &&
108 sizeof(post_memfn_helper<T>(0)) != 1 &&
109 sizeof(defer_memfn_helper<T>(0)) != 1>
113 template <
typename T>
115 : conditional<is_class<T>::value,
116 is_executor_class<T>,
124 #include "asio/detail/pop_options.hpp" 126 #endif // ASIO_DETAIL_IS_EXECUTOR_HPP Definition: is_executor.hpp:43
Definition: is_executor.hpp:102
Definition: is_executor.hpp:114
Definition: is_executor.hpp:26
Definition: is_executor.hpp:37
Definition: any_io_executor.hpp:28