MySQL 8.4.0
Source Code Documentation
net::strand< Executor > Class Template Reference

#include <executor.h>

Public Types

using inner_executor_type = Executor
 

Public Member Functions

 strand ()=default
 
 strand (Executor ex)
 
template<class ProtoAllocator >
 strand (std::allocator_arg_t, const ProtoAllocator &, Executor ex)
 
 strand (const strand &other) noexcept
 
 strand (strand &&other) noexcept
 
template<class OtherExecutor >
 strand (const strand< OtherExecutor > &other) noexcept
 
template<class OtherExecutor >
 strand (strand< OtherExecutor > &&other) noexcept
 
strand operator= (const strand &other) noexcept
 
strand operator= (strand &&other) noexcept
 
template<class OtherExecutor >
strand operator= (const strand< OtherExecutor > &other) noexcept
 
template<class OtherExecutor >
strand operator= (strand< OtherExecutor > &&other) noexcept
 
 ~strand ()
 
inner_executor_type get_inner_executor () const noexcept
 
bool running_in_this_thread () const noexcept
 
execution_contextcontext () const noexcept
 
void on_work_started () const noexcept
 
void on_work_finished () const noexcept
 
template<class Func , class ProtoAllocator >
void dispatch (Func &&f, const ProtoAllocator &) const
 
template<class Func , class ProtoAllocator >
void post (Func &&f, const ProtoAllocator &a) const
 
template<class Func , class ProtoAllocator >
void defer (Func &&f, const ProtoAllocator &a) const
 

Private Attributes

Executor inner_ex_
 
bool running_ {false}
 
std::queue< std::function< void()> > jobs_
 

Member Typedef Documentation

◆ inner_executor_type

template<class Executor >
using net::strand< Executor >::inner_executor_type = Executor

Constructor & Destructor Documentation

◆ strand() [1/7]

template<class Executor >
net::strand< Executor >::strand ( )
default

◆ strand() [2/7]

template<class Executor >
net::strand< Executor >::strand ( Executor  ex)
inlineexplicit

◆ strand() [3/7]

template<class Executor >
template<class ProtoAllocator >
net::strand< Executor >::strand ( std::allocator_arg_t  ,
const ProtoAllocator &  ,
Executor  ex 
)
inline

◆ strand() [4/7]

template<class Executor >
net::strand< Executor >::strand ( const strand< Executor > &  other)
inlinenoexcept

◆ strand() [5/7]

template<class Executor >
net::strand< Executor >::strand ( strand< Executor > &&  other)
inlinenoexcept

◆ strand() [6/7]

template<class Executor >
template<class OtherExecutor >
net::strand< Executor >::strand ( const strand< OtherExecutor > &  other)
inlinenoexcept

◆ strand() [7/7]

template<class Executor >
template<class OtherExecutor >
net::strand< Executor >::strand ( strand< OtherExecutor > &&  other)
inlinenoexcept

◆ ~strand()

template<class Executor >
net::strand< Executor >::~strand ( )

Member Function Documentation

◆ context()

template<class Executor >
execution_context & net::strand< Executor >::context ( ) const
inlinenoexcept

◆ defer()

template<class Executor >
template<class Func , class ProtoAllocator >
void net::strand< Executor >::defer ( Func &&  f,
const ProtoAllocator &  a 
) const

◆ dispatch()

template<class Executor >
template<class Func , class ProtoAllocator >
void net::strand< Executor >::dispatch ( Func &&  f,
const ProtoAllocator &   
) const
inline

◆ get_inner_executor()

template<class Executor >
inner_executor_type net::strand< Executor >::get_inner_executor ( ) const
inlinenoexcept

◆ on_work_finished()

template<class Executor >
void net::strand< Executor >::on_work_finished ( ) const
inlinenoexcept

◆ on_work_started()

template<class Executor >
void net::strand< Executor >::on_work_started ( ) const
inlinenoexcept

◆ operator=() [1/4]

template<class Executor >
strand net::strand< Executor >::operator= ( const strand< Executor > &  other)
inlinenoexcept

◆ operator=() [2/4]

template<class Executor >
template<class OtherExecutor >
strand net::strand< Executor >::operator= ( const strand< OtherExecutor > &  other)
inlinenoexcept

◆ operator=() [3/4]

template<class Executor >
strand net::strand< Executor >::operator= ( strand< Executor > &&  other)
inlinenoexcept

◆ operator=() [4/4]

template<class Executor >
template<class OtherExecutor >
strand net::strand< Executor >::operator= ( strand< OtherExecutor > &&  other)
inlinenoexcept

◆ post()

template<class Executor >
template<class Func , class ProtoAllocator >
void net::strand< Executor >::post ( Func &&  f,
const ProtoAllocator &  a 
) const

◆ running_in_this_thread()

template<class Executor >
bool net::strand< Executor >::running_in_this_thread ( ) const
inlinenoexcept

Member Data Documentation

◆ inner_ex_

template<class Executor >
Executor net::strand< Executor >::inner_ex_
private

◆ jobs_

template<class Executor >
std::queue<std::function<void()> > net::strand< Executor >::jobs_
private

◆ running_

template<class Executor >
bool net::strand< Executor >::running_ {false}
private

The documentation for this class was generated from the following file: