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 |