11 #ifndef ASIO_DETAIL_BIND_HANDLER_HPP 12 #define ASIO_DETAIL_BIND_HANDLER_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 28 template <
typename Handler,
typename Arg1>
32 binder1(
const Handler& handler,
const Arg1& arg1)
38 binder1(Handler& handler,
const Arg1& arg1)
59 template <
typename Handler,
typename Arg1>
67 template <
typename Handler,
typename Arg1>
72 pointer, size, this_handler->
handler_);
75 template <
typename Handler,
typename Arg1>
83 template <
typename Function,
typename Handler,
typename Arg1>
91 template <
typename Function,
typename Handler,
typename Arg1>
99 template <
typename Handler,
typename Arg1>
106 template <
typename Handler,
typename Arg1,
typename Arg2>
110 binder2(
const Handler& handler,
const Arg1& arg1,
const Arg2& arg2)
117 binder2(Handler& handler,
const Arg1& arg1,
const Arg2& arg2)
127 static_cast<const Arg2&>(arg2_));
141 template <
typename Handler,
typename Arg1,
typename Arg2>
149 template <
typename Handler,
typename Arg1,
typename Arg2>
154 pointer, size, this_handler->
handler_);
157 template <
typename Handler,
typename Arg1,
typename Arg2>
165 template <
typename Function,
typename Handler,
typename Arg1,
typename Arg2>
173 template <
typename Function,
typename Handler,
typename Arg1,
typename Arg2>
181 template <
typename Handler,
typename Arg1,
typename Arg2>
183 const Arg1& arg1,
const Arg2& arg2)
188 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3>
192 binder3(
const Handler& handler,
const Arg1& arg1,
const Arg2& arg2,
201 binder3(Handler& handler,
const Arg1& arg1,
const Arg2& arg2,
213 static_cast<const Arg2&>(arg2_),
214 static_cast<const Arg3&>(arg3_));
229 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3>
237 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3>
242 pointer, size, this_handler->
handler_);
245 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3>
253 template <
typename Function,
typename Handler,
typename Arg1,
typename Arg2,
262 template <
typename Function,
typename Handler,
typename Arg1,
typename Arg2,
271 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3>
273 const Arg1& arg1,
const Arg2& arg2,
const Arg3& arg3)
278 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
283 binder4(
const Handler& handler,
const Arg1& arg1,
const Arg2& arg2,
284 const Arg3& arg3,
const Arg4& arg4)
293 binder4(Handler& handler,
const Arg1& arg1,
const Arg2& arg2,
294 const Arg3& arg3,
const Arg4& arg4)
306 static_cast<const Arg2&>(arg2_),
307 static_cast<const Arg3&>(arg3_),
308 static_cast<const Arg4&>(arg4_));
324 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
333 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
339 pointer, size, this_handler->
handler_);
342 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
351 template <
typename Function,
typename Handler,
typename Arg1,
typename Arg2,
352 typename Arg3,
typename Arg4>
360 template <
typename Function,
typename Handler,
typename Arg1,
typename Arg2,
361 typename Arg3,
typename Arg4>
369 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
372 Handler handler,
const Arg1& arg1,
const Arg2& arg2,
373 const Arg3& arg3,
const Arg4& arg4)
379 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
380 typename Arg4,
typename Arg5>
384 binder5(
const Handler& handler,
const Arg1& arg1,
const Arg2& arg2,
385 const Arg3& arg3,
const Arg4& arg4,
const Arg5& arg5)
395 binder5(Handler& handler,
const Arg1& arg1,
const Arg2& arg2,
396 const Arg3& arg3,
const Arg4& arg4,
const Arg5& arg5)
409 static_cast<const Arg2&>(arg2_),
410 static_cast<const Arg3&>(arg3_),
411 static_cast<const Arg4&>(arg4_),
412 static_cast<const Arg5&>(arg5_));
429 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
430 typename Arg4,
typename Arg5>
438 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
439 typename Arg4,
typename Arg5>
444 pointer, size, this_handler->
handler_);
447 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
448 typename Arg4,
typename Arg5>
456 template <
typename Function,
typename Handler,
typename Arg1,
typename Arg2,
457 typename Arg3,
typename Arg4,
typename Arg5>
465 template <
typename Function,
typename Handler,
typename Arg1,
typename Arg2,
466 typename Arg3,
typename Arg4,
typename Arg5>
474 template <
typename Handler,
typename Arg1,
typename Arg2,
typename Arg3,
475 typename Arg4,
typename Arg5>
477 Handler handler,
const Arg1& arg1,
const Arg2& arg2,
478 const Arg3& arg3,
const Arg4& arg4,
const Arg5& arg5)
489 #endif // ASIO_DETAIL_BIND_HANDLER_HPP
void asio_handler_deallocate(void *pointer, std::size_t size, binder1< Handler, Arg1 > *this_handler)
binder1(Handler &handler, const Arg1 &arg1)
void * asio_handler_allocate(std::size_t size, binder1< Handler, Arg1 > *this_handler)
binder2(const Handler &handler, const Arg1 &arg1, const Arg2 &arg2)
binder5(const Handler &handler, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5)
binder1(const Handler &handler, const Arg1 &arg1)
binder3(Handler &handler, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3)
void invoke(Function &function, Context &context)
binder4(const Handler &handler, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4)
void asio_handler_invoke(Function &function, binder1< Handler, Arg1 > *this_handler)
bool is_continuation(Context &context)
void deallocate(void *p, std::size_t s, Handler &h)
binder4(Handler &handler, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4)
void * allocate(std::size_t s, Handler &h)
binder3(const Handler &handler, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3)
#define ASIO_MOVE_CAST(type)
binder5(Handler &handler, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5)
binder1< Handler, Arg1 > bind_handler(Handler handler, const Arg1 &arg1)
binder2(Handler &handler, const Arg1 &arg1, const Arg2 &arg2)
bool asio_handler_is_continuation(binder1< Handler, Arg1 > *this_handler)