11 #ifndef ASIO_STRAND_HPP 12 #define ASIO_STRAND_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 97 asio::detail::strand_service>(io_service))
145 template <
typename CompletionHandler>
154 CompletionHandler, void ()>
init(
178 template <
typename CompletionHandler>
187 CompletionHandler, void ()>
init(
216 template <
typename Handler>
217 #if defined(GENERATING_DOCUMENTATION) 252 #endif // ASIO_STRAND_HPP
post(ASIO_MOVE_ARG(CompletionHandler) handler)
Provides core I/O functionality.
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))
void post(implementation_type &impl, Handler &handler)
Provides serialised handler execution.
ASIO_DECL void construct(implementation_type &impl)
asio::io_service & get_io_service()
Get the io_service object that owns the service.
void dispatch(implementation_type &impl, Handler &handler)
ASIO_INITFN_RESULT_TYPE(ComposedConnectHandler, void(asio::error_code, Iterator)) async_connect(basic_socket< Protocol
asio::io_service::strand strand
ASIO_DECL bool running_in_this_thread(const implementation_type &impl) const
strand(asio::io_service &io_service)
Constructor.
asio::basic_streambuf< Allocator > CompletionCondition ASIO_MOVE_ARG(ReadHandler) handler)
bool running_in_this_thread() const
Determine whether the strand is running in the current thread.
detail::wrapped_handler< strand, Handler, detail::is_continuation_if_running > wrap(Handler handler)
dispatch(ASIO_MOVE_ARG(CompletionHandler) handler)
Request the strand to invoke the given handler.
friend Service & use_service(io_service &ios)
Obtain the service object corresponding to the given type.
handler_type< Handler, Signature >::type handler
#define ASIO_MOVE_CAST(type)
#define ASIO_COMPLETION_HANDLER_CHECK(handler_type, handler)
async_result< typename handler_type< Handler, Signature >::type > result
asio::io_service & get_io_service()
Get the io_service associated with the strand.