Mercury Currency Engine
|
#include <chan.hpp>
Public Member Functions | |
chan (const chan< T > &rhs) | |
chan (chan< T > &&rhs) | |
template<typename CHANNEL > | |
void | construct (CHANNEL &&ch) const |
void | construct () const |
construct unbuffered channel context | |
void * | context () const |
retrieve internal context pointer | |
const std::type_info & | type_info () const |
retrieve type_info | |
const std::type_info & | context_type_info () const |
template<typename CHANNEL > | |
CHANNEL | cast () const |
void | close () const |
close channel | |
bool | closed () const |
report if channel is closed | |
bool | send (const T &s) const |
send a copy of data through channel | |
bool | send (T &&s) const |
move data through channel | |
bool | recv (T &r) const |
retrieve data from channel | |
result | try_send (const T &s) const |
attempt to send a copy of data through channel | |
result | try_send (T &&s) const |
attempt to move data through channel | |
result | try_recv (T &s) const |
attempt to retrieve data from channel | |
void | assign (const chan< T > &rhs) const |
copy internal context of argument channel | |
void | assign (chan< T > &&rhs) const |
move internal context of argument channel | |
const chan< T > & | operator= (const chan< T > &rhs) const |
lvalue assign channel context | |
const chan< T > & | operator= (chan< T > &&rhs) const |
rvalue assign channel context | |
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, chan< T > > | |
channel_operators (chan< T > *rhs_ch) | |
context constructor | |
virtual | ~channel_operators () |
operator bool () const | |
return whether channel has a shared context pointer | |
const chan< T > & | operator= (const chan< T > &rhs) const |
lvalue assign channel context | |
const chan< T > & | operator= (chan< T > &&rhs) const |
rvalue assign channel context | |
bool | operator== (const chan< T > &rhs) const |
lvalue channel context comparison | |
bool | operator== (chan< T > &&rhs) const |
rvalue channel context comparison | |
bool | operator!= (const chan< T > &rhs) const |
lvalue channel context not comparison | |
bool | operator!= (chan< T > &&rhs) const |
rvalue channel context not comparison | |
bool | operator< (const chan< T > &rhs) const |
bool | operator< (chan< T > &&rhs) const |
bool | operator<= (const chan< T > &rhs) const |
bool | operator<= (chan< T > &&rhs) const |
bool | operator> (const chan< T > &rhs) const |
bool | operator> (chan< T > &&rhs) const |
bool | operator>= (const chan< T > &rhs) const |
bool | operator>= (chan< 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, chan< T > > | |
static chan< T > | make (As &&... as) |
A wrapper object which can represent any object which implements base_channel interface.
Cast base_channel context to templated channel and return the result.
Operation was a success if the resulting channel is initialized, a non-default constructed version of the channel. An initialized channel will return non-NULL when context() is called.
|
inline |
unique mechanism for constructing a chan<T> object using any object which implements base_channel<T,chan<T>>
|
inline |
Retrieve type_info of underlying context. Because chan<T> is a wrapper to other channels, this may fail if chan<T> is uninitialized at the time of call.