11 #ifndef ASIO_DETAIL_HANDLER_TRACKING_HPP 12 #define ASIO_DETAIL_HANDLER_TRACKING_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 20 #if defined(ASIO_ENABLE_HANDLER_TRACKING) 25 #endif // defined(ASIO_ENABLE_HANDLER_TRACKING) 32 #if defined(ASIO_ENABLE_HANDLER_TRACKING) 34 class handler_tracking
44 friend class handler_tracking;
45 friend class completion;
50 tracked_handler() : id_(0) {}
60 ASIO_DECL static void creation(tracked_handler* h,
61 const char* object_type,
void*
object,
const char* op_name);
67 ASIO_DECL explicit completion(tracked_handler* h);
95 friend class handler_tracking;
103 void*
object,
const char* op_name);
106 ASIO_DECL static void write_line(
const char* format, ...);
109 struct tracking_state;
110 ASIO_DECL static tracking_state* get_state();
113 # define ASIO_INHERIT_TRACKED_HANDLER \ 114 : public asio::detail::handler_tracking::tracked_handler 116 # define ASIO_ALSO_INHERIT_TRACKED_HANDLER \ 117 , public asio::detail::handler_tracking::tracked_handler 119 # define ASIO_HANDLER_TRACKING_INIT \ 120 asio::detail::handler_tracking::init() 122 # define ASIO_HANDLER_CREATION(args) \ 123 asio::detail::handler_tracking::creation args 125 # define ASIO_HANDLER_COMPLETION(args) \ 126 asio::detail::handler_tracking::completion tracked_completion args 128 # define ASIO_HANDLER_INVOCATION_BEGIN(args) \ 129 tracked_completion.invocation_begin args 131 # define ASIO_HANDLER_INVOCATION_END \ 132 tracked_completion.invocation_end() 134 # define ASIO_HANDLER_OPERATION(args) \ 135 asio::detail::handler_tracking::operation args 137 #else // defined(ASIO_ENABLE_HANDLER_TRACKING) 139 # define ASIO_INHERIT_TRACKED_HANDLER 140 # define ASIO_ALSO_INHERIT_TRACKED_HANDLER 141 # define ASIO_HANDLER_TRACKING_INIT (void)0 142 # define ASIO_HANDLER_CREATION(args) (void)0 143 # define ASIO_HANDLER_COMPLETION(args) (void)0 144 # define ASIO_HANDLER_INVOCATION_BEGIN(args) (void)0 145 # define ASIO_HANDLER_INVOCATION_END (void)0 146 # define ASIO_HANDLER_OPERATION(args) (void)0 148 #endif // defined(ASIO_ENABLE_HANDLER_TRACKING) 155 #if defined(ASIO_HEADER_ONLY) 157 #endif // defined(ASIO_HEADER_ONLY) 159 #endif // ASIO_DETAIL_HANDLER_TRACKING_HPP
asio::basic_streambuf< Allocator > MatchCondition enable_if< is_match_condition< MatchCondition >::value >::type *detail::async_result_init< ReadHandler, void(asio::error_code, std::size_t)> init(ASIO_MOVE_CAST(ReadHandler)(handler))
Class to represent an error code value.
task_io_service_operation operation