Support Class Library
A set of tools providing classes and utility
|
Class used to send data to a Channel. More...
#include "Channel.h"
Public Types | |
using | channel_type = Chan |
The type of the channel. More... | |
using | sender_traits = channel_actor_traits< ChannelSender > |
The traits of the sender. More... | |
using | lock_type = typename sender_traits::lock_type |
The type of lock used in the sender. More... | |
template<class L > | |
using | guard_type = typename sender_traits::template guard_type< L > |
The type of guards used in the sender. More... | |
using | queue_type = typename sender_traits::queue_type |
The type of queue used in the channel. More... | |
using | value_type = typename sender_traits::value_type |
The type of values used in the channel. More... | |
Public Member Functions | |
ChannelSender (const ChannelSender &)=delete | |
ChannelSender & | operator= (const ChannelSender &)=delete |
ChannelSender (ChannelSender &&)=delete | |
ChannelSender & | operator= (ChannelSender &&)=delete |
template<class U = value_type> | |
ChannelSender & | push (U &&value) |
Forward a value into the queue. More... | |
template<class... Args> | |
ChannelSender & | pushEmplace (Args &&... args) |
Construct and push in-place the value. More... | |
template<class U = value_type> | |
ChannelSender & | queue (U &&value) |
Alias for ChannelSender::push. More... | |
template<class U = value_type> | |
ChannelSender & | enqueue (U &&value) |
Alias for ChannelSender::push. More... | |
template<class U = value_type> | |
ChannelSender & | send (U &&value) |
Alias for ChannelSender::push. More... | |
template<class U = value_type> | |
ChannelSender & | operator<< (U &&value) |
Alias for ChannelSender::push. More... | |
Public Attributes | |
friend | sender_traits |
friend | channel_type |
Protected Member Functions | |
ChannelSender (channel_type &chan) | |
Construct a sender from a (safe) pointer to its channel. More... | |
template<class... Args> | |
ChannelSender & | doPush (Args &&... args) |
Implementation details to push data onto the channel. More... | |
Protected Attributes | |
channel_type * | channel |
A (safe) pointer to the channel. More... | |
sender_traits | traits |
The traits for the sender. More... | |
Class used to send data to a Channel.
Chan | being the channel type |
scl::async::details::ChannelSender< Chan >::channel_type |
scl::async::details::ChannelSender< Chan >::lock_type |
scl::async::details::ChannelSender< Chan >::queue_type |
scl::async::details::ChannelSender< Chan >::sender_traits |
scl::async::details::ChannelSender< Chan >::value_type |
|
inlineexplicitprotected |
|
delete |
|
delete |
|
inlineprotected |
Implementation details to push data onto the channel.
Args | being the type of the arguments for the constructor |
args | being the arguments for the constructor |
|
inline |
Alias for ChannelSender::push.
|
inline |
Alias for ChannelSender::push.
|
delete |
|
delete |
|
inline |
Forward a value into the queue.
U | being the type of data to forward (defaults to ChannelSender::value_type) |
value | being the value to forward |
|
inline |
Construct and push in-place the value.
Args | being the types of arguments for the constructor |
args | being the arguments for the constructor |
|
inline |
Alias for ChannelSender::push.
|
inline |
Alias for ChannelSender::push.
|
protected |
friend scl::async::details::ChannelSender< Chan >::channel_type |
friend scl::async::details::ChannelSender< Chan >::sender_traits |
|
protected |