Public Types | |
typedef T | input_type |
The input type of this receiver. | |
typedef T | output_type |
The output type of this sender. | |
typedef sender< input_type > | predecessor_type |
The predecessor type for this node. | |
typedef receiver< output_type > | successor_type |
The successor type for this node. | |
Public Member Functions | |
overwrite_node (graph &g) | |
overwrite_node (const overwrite_node &src) | |
bool | register_successor (successor_type &s) |
Add a new successor to this node. | |
bool | remove_successor (successor_type &s) |
Removes a successor from this node. | |
bool | try_get (T &v) |
Request an item from the sender. | |
bool | is_valid () |
void | clear () |
Protected Member Functions | |
task * | try_put_task (const T &v) |
void | reset () |
void | reset_receiver () |
Protected Attributes | |
spin_mutex | my_mutex |
internal::broadcast_cache< T, null_rw_mutex > | my_successors |
T | my_buffer |
bool | my_buffer_is_valid |
Friends | |
class | run_and_put_task |
put item to successor; return task to run the successor if possible. | |
class | internal::broadcast_cache |
class | internal::round_robin_cache |