Mercury Currency Engine
|
#include <buffered_channel.hpp>
Public Member Functions | |
buffered_channel (const buffered_channel< T > &rhs) | |
buffered_channel (buffered_channel< T > &&rhs) | |
void | construct (size_t sz) const |
construct channel context by specifying the internal buffer size | |
void | construct () const |
construct channel context with a default internal buffer size | |
void * | context () const |
retrieve internal context pointer | |
const std::type_info & | type_info () const |
retrieve type_info | |
void | close () const |
close channel | |
bool | closed () const |
report if channel is closed | |
size_t | size () const |
return number of values stored in channel | |
bool | empty () const |
return if there are no values in the channel | |
bool | full () const |
return if channel buffer is full | |
size_t | capacity () const |
return maximum number of storable values | |
size_t | reserve () const |
return count of unused values in the buffer | |
bool | send (const T &s) const |
blocking send a copy of data through channel | |
bool | send (T &&s) const |
blocking move data through channel | |
bool | recv (T &r) const |
blocking retrieve data from channel | |
result | try_send (const T &r) const |
nonblocking attempt to send a copy of data through channel | |
result | try_send (T &&r) const |
nonblocking attempt to move data through channel | |
result | try_recv (T &ret) const |
nonblocking attempt to retrieve data from channel | |
void | assign (const buffered_channel< T > &rhs) const |
copy internal context of argument channel | |
void | assign (buffered_channel< T > &&rhs) const |
move internal context of argument channel | |
Public Member Functions inherited from mce::base_channel< T > | |
base_channel (const base_channel< T > *rhs_bc) | |
iterator context constructor | |
iterator | begin () const |
iterator to the current beginning of the channel | |
iterator | end () const |
default iterator == end() | |
Public Member Functions inherited from mce::channel_operators< T, buffered_channel< T > > | |
channel_operators (buffered_channel< T > *rhs_ch) | |
context constructor | |
virtual | ~channel_operators () |
operator bool () const | |
return whether channel has a shared context pointer | |
const buffered_channel< T > & | operator= (const buffered_channel< T > &rhs) const |
lvalue assign channel context | |
const buffered_channel< T > & | operator= (buffered_channel< T > &&rhs) const |
rvalue assign channel context | |
bool | operator== (const buffered_channel< T > &rhs) const |
lvalue channel context comparison | |
bool | operator== (buffered_channel< T > &&rhs) const |
rvalue channel context comparison | |
bool | operator!= (const buffered_channel< T > &rhs) const |
lvalue channel context not comparison | |
bool | operator!= (buffered_channel< T > &&rhs) const |
rvalue channel context not comparison | |
bool | operator< (const buffered_channel< T > &rhs) const |
bool | operator< (buffered_channel< T > &&rhs) const |
bool | operator<= (const buffered_channel< T > &rhs) const |
bool | operator<= (buffered_channel< T > &&rhs) const |
bool | operator> (const buffered_channel< T > &rhs) const |
bool | operator> (buffered_channel< T > &&rhs) const |
bool | operator>= (const buffered_channel< T > &rhs) const |
bool | operator>= (buffered_channel< T > &&rhs) const |
Additional Inherited Members | |
Public Types inherited from mce::base_channel< T > | |
typedef T | value_type |
template type for channel | |
Static Public Member Functions inherited from mce::channel_operators< T, buffered_channel< T > > | |
static buffered_channel< T > | make (As &&... as) |
Asynchronous channel communication is done internally over a statically sized buffer. Otherwise similar to unbuffered_channel.