|
template<class T > |
associated_allocator_t< T > | net::get_associated_allocator (const T &t) noexcept |
|
template<class T , class ProtoAllocator > |
associated_allocator_t< T > | net::get_associated_allocator (const T &t, const ProtoAllocator &a) noexcept |
|
template<class Service > |
Service::key_type & | net::use_service (execution_context &ctx) |
|
template<class Service , class... Args> |
Service & | net::make_service (execution_context &ctx, Args &&...args) |
|
template<class Service > |
bool | net::has_service (const execution_context &ctx) noexcept |
|
template<class T , typename U = std::remove_const_t<T>> |
auto | net::impl::executor_requirements (U *__x=nullptr, const U *__const_x=nullptr, void(*f)()=nullptr, const std::allocator< int > &a={}) -> std::enable_if_t< std::conjunction< std::is_copy_constructible< T >, std::is_same< decltype(*__const_x== *__const_x), bool >, std::is_same< decltype(*__const_x != *__const_x), bool >, std::is_void< decltype(__x->on_work_started())>, std::is_void< decltype(__x->on_work_finished())>, std::is_void< decltype(__x->dispatch(std::move(f), a))>, std::is_void< decltype(__x->post(std::move(f), a))>, std::is_void< decltype(__x->defer(std::move(f), a))> >::value, std::void_t< decltype(__x->context()), void()> > |
|
template<class T > |
associated_executor_t< T > | net::get_associated_executor (const T &t) noexcept |
|
template<class T , class Executor > |
associated_executor_t< T, Executor > | net::get_associated_executor (const T &t, const Executor &ex) noexcept |
|
template<class T , class ExecutorContext > |
associated_executor_t< T, typename ExecutorContext::executor_type > | net::get_associated_executor (const T &t, const ExecutorContext &ctx) noexcept |
|
template<class Executor > |
std::enable_if_t< is_executor< Executor >::value, executor_work_guard< Executor > > | net::make_work_guard (const Executor &ex) |
|
template<class ExecutionContext > |
std::enable_if_t< std::is_convertible< ExecutionContext &, execution_context & >::value, executor_work_guard< typename ExecutionContext::executor_type > > | net::make_work_guard (ExecutionContext &ctx) |
|
template<class T > |
std::enable_if_t<!is_executor< T >::value &&!std::is_convertible< T &, execution_context & >::value, executor_work_guard< associated_executor_t< T > > > | net::make_work_guard (const T &t) |
|
template<class T , class U > |
auto | net::make_work_guard (const T &t, U &&u) -> decltype(make_work_guard(get_associated_executor(t, std::forward< U >(u)))) |
|
bool | net::operator== (const system_executor &, const system_executor &) |
|
bool | net::operator!= (const system_executor &, const system_executor &) |
|
template<class CompletionHandler > |
Dispatcher< CompletionHandler > | net::impl::make_dispatcher (CompletionHandler &handler) |
|
template<class CompletionToken > |
auto | net::dispatch (CompletionToken &&token) |
|
template<class Executor , class CompletionToken > |
std::enable_if_t< is_executor< Executor >::value, typename async_result< std::decay_t< CompletionToken >, void()>::return_type > | net::dispatch (const Executor &ex, CompletionToken &&token) |
| queue a function call for later execution. More...
|
|
template<class ExecutionContext , class CompletionToken > |
std::enable_if_t< std::is_convertible< ExecutionContext &, execution_context & >::value, typename async_result< std::decay_t< CompletionToken >, void()>::return_type > | net::dispatch (ExecutionContext &ctx, CompletionToken &&token) |
| queue a function call for later execution. More...
|
|
template<class CompletionToken > |
auto | net::post (CompletionToken &&token) |
| queue a function call for later execution. More...
|
|
template<class Executor , class CompletionToken > |
std::enable_if_t< is_executor< Executor >::value, typename async_result< std::decay_t< CompletionToken >, void()>::return_type > | net::post (const Executor &ex, CompletionToken &&token) |
| queue a function call for later execution. More...
|
|
template<class ExecutionContext , class CompletionToken > |
std::enable_if_t< std::is_convertible< ExecutionContext &, execution_context & >::value, typename async_result< std::decay_t< CompletionToken >, void()>::return_type > | net::post (ExecutionContext &ctx, CompletionToken &&token) |
| queue a function call for later execution. More...
|
|
template<class CompletionToken > |
auto | net::defer (CompletionToken &&token) |
|
template<class Executor , class CompletionToken > |
std::enable_if_t< is_executor< Executor >::value, typename async_result< std::decay_t< CompletionToken >, void()>::return_type > | net::defer (const Executor &ex, CompletionToken &&token) |
| queue a function call for later execution. More...
|
|
template<class ExecutionContext , class CompletionToken > |
std::enable_if_t< std::is_convertible< ExecutionContext &, execution_context & >::value, typename async_result< std::decay_t< CompletionToken >, void()>::return_type > | net::defer (ExecutionContext &ctx, CompletionToken &&token) |
| queue a function call for later execution. More...
|
|
template<class Executor > |
bool | net::operator== (const strand< Executor > &a, const strand< Executor > &b) |
|
template<class Executor > |
bool | net::operator!= (const strand< Executor > &a, const strand< Executor > &b) |
|