|
Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
#include <flow_graph.h>
Classes | |
| struct | register_predecessor_task |
| Breaks an infinite loop between the node reservation and register_successor call. More... | |
Public Types | |
| typedef T | input_type |
| typedef T | output_type |
| typedef receiver< input_type >::predecessor_type | predecessor_type |
| typedef sender< output_type >::successor_type | successor_type |
Public Types inherited from tbb::flow::interface10::receiver< T > | |
| typedef T | input_type |
| The input type of this receiver. More... | |
| typedef internal::async_helpers< T >::filtered_type | filtered_type |
Public Types inherited from tbb::flow::interface10::internal::untyped_receiver | |
| typedef untyped_sender | predecessor_type |
| The predecessor type for this node. More... | |
Public Types inherited from tbb::flow::interface10::sender< T > | |
| typedef T | output_type |
| The output type of this sender. More... | |
| typedef internal::async_helpers< T >::filtered_type | filtered_type |
Public Types inherited from tbb::flow::interface10::internal::untyped_sender | |
| typedef untyped_receiver | successor_type |
| The successor type for this node. More... | |
Public Member Functions | |
| overwrite_node (graph &g) | |
| overwrite_node (const overwrite_node &src) | |
| Copy constructor; doesn't take anything from src; default won't work. More... | |
| ~overwrite_node () | |
| bool | register_successor (successor_type &s) __TBB_override |
| Add a new successor to this node. More... | |
| bool | remove_successor (successor_type &s) __TBB_override |
| Removes a successor from this node. More... | |
| bool | try_get (input_type &v) __TBB_override |
| Request an item from the sender. More... | |
| bool | try_reserve (T &v) __TBB_override |
| Reserves an item. More... | |
| bool | try_release () __TBB_override |
| Releases the reserved item. More... | |
| bool | try_consume () __TBB_override |
| Consumes the reserved item. More... | |
| bool | is_valid () |
| void | clear () |
Public Member Functions inherited from tbb::flow::interface10::graph_node | |
| graph_node (graph &g) | |
| virtual | ~graph_node () |
Public Member Functions inherited from tbb::flow::interface10::receiver< T > | |
| bool | try_put (const typename internal::async_helpers< T >::filtered_type &t) |
| Put an item to the receiver. More... | |
| bool | try_put (const typename internal::async_helpers< T >::async_type &t) |
Public Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver | |
| virtual | ~untyped_receiver () |
| Destructor. More... | |
| template<typename X > | |
| bool | try_put (const X &t) |
| Put an item to the receiver. More... | |
| virtual bool | register_predecessor (predecessor_type &) |
| Add a predecessor to the node. More... | |
| virtual bool | remove_predecessor (predecessor_type &) |
| Remove a predecessor from the node. More... | |
Public Member Functions inherited from tbb::flow::interface10::internal::untyped_sender | |
| virtual | ~untyped_sender () |
Protected Member Functions | |
| task * | try_put_task (const input_type &v) __TBB_override |
| Put item to successor; return task to run the successor if possible. More... | |
| task * | try_put_task_impl (const input_type &v) |
| graph & | graph_reference () __TBB_override |
| void | reset_receiver (reset_flags) __TBB_override |
| put receiver back in initial state More... | |
| void | reset_node (reset_flags f) __TBB_override |
Protected Member Functions inherited from tbb::flow::interface10::receiver< T > | |
| virtual task * | try_put_task_wrapper (const void *p, bool is_async) __TBB_override |
Protected Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver | |
| template<typename X > | |
| task * | try_put_task (const X &t) |
| virtual bool | is_continue_receiver () |
Protected Member Functions inherited from tbb::flow::interface10::sender< T > | |
| virtual bool | try_get_wrapper (void *p, bool is_async) __TBB_override |
| virtual bool | try_reserve_wrapper (void *p, bool is_async) __TBB_override |
Protected Member Functions inherited from tbb::flow::interface10::internal::untyped_sender | |
| template<typename X > | |
| bool | try_get (X &t) |
| Request an item from the sender. More... | |
| template<typename X > | |
| bool | try_reserve (X &t) |
| Reserves an item in the sender. More... | |
Protected Attributes | |
| spin_mutex | my_mutex |
| internal::broadcast_cache< input_type, null_rw_mutex > | my_successors |
| input_type | my_buffer |
| bool | my_buffer_is_valid |
Protected Attributes inherited from tbb::flow::interface10::graph_node | |
| graph & | my_graph |
| graph_node * | next |
| graph_node * | prev |
Friends | |
| template<typename R , typename B > | |
| class | run_and_put_task |
| template<typename X , typename Y > | |
| class | internal::broadcast_cache |
| template<typename X , typename Y > | |
| class | internal::round_robin_cache |
Definition at line 3656 of file flow_graph.h.
| typedef T tbb::flow::interface10a::overwrite_node< T >::input_type |
Definition at line 3658 of file flow_graph.h.
| typedef T tbb::flow::interface10a::overwrite_node< T >::output_type |
Definition at line 3659 of file flow_graph.h.
| typedef receiver<input_type>::predecessor_type tbb::flow::interface10a::overwrite_node< T >::predecessor_type |
Definition at line 3660 of file flow_graph.h.
| typedef sender<output_type>::successor_type tbb::flow::interface10a::overwrite_node< T >::successor_type |
Definition at line 3661 of file flow_graph.h.
|
inlineexplicit |
Definition at line 3669 of file flow_graph.h.
References tbb::internal::fgt_node(), tbb::flow::interface10::graph_node::my_graph, and tbb::flow::interface10::internal::successor_cache< T, M >::set_owner().
|
inline |
Copy constructor; doesn't take anything from src; default won't work.
Definition at line 3676 of file flow_graph.h.
References tbb::internal::fgt_node(), tbb::flow::interface10::graph_node::my_graph, and tbb::flow::interface10::internal::successor_cache< T, M >::set_owner().
|
inline |
Definition at line 3684 of file flow_graph.h.
References __TBB_override, and tbb::internal::fgt_node_desc().
|
inline |
Definition at line 3799 of file flow_graph.h.
|
inlineprotectedvirtual |
Implements tbb::flow::interface10::internal::untyped_receiver.
Definition at line 3822 of file flow_graph.h.
References tbb::flow::interface10::graph_node::my_graph.
|
inline |
Definition at line 3794 of file flow_graph.h.
|
inlinevirtual |
Add a new successor to this node.
Implements tbb::flow::interface10::internal::untyped_sender.
Definition at line 3692 of file flow_graph.h.
References tbb::flow::interface10::internal::is_graph_active(), tbb::flow::interface10::graph_node::my_graph, tbb::flow::interface10::internal::successor_cache< T, M >::register_successor(), tbb::flow::interface10::graph::root_task(), and tbb::flow::interface10::internal::spawn_in_graph_arena().
|
inlinevirtual |
Removes a successor from this node.
Implements tbb::flow::interface10::internal::untyped_sender.
Definition at line 3716 of file flow_graph.h.
References __TBB_override, and tbb::flow::interface10::internal::successor_cache< T, M >::remove_successor().
|
inlineprotectedvirtual |
Implements tbb::flow::interface10::graph_node.
Definition at line 3852 of file flow_graph.h.
References tbb::flow::interface10::internal::successor_cache< T, M >::clear().
|
inlineprotectedvirtual |
put receiver back in initial state
Implements tbb::flow::interface10::internal::untyped_receiver.
Definition at line 3850 of file flow_graph.h.
|
inlinevirtual |
Consumes the reserved item.
Reimplemented from tbb::flow::interface10::internal::untyped_sender.
Definition at line 3792 of file flow_graph.h.
|
inlinevirtual |
Request an item from the sender.
Reimplemented from tbb::flow::interface10::sender< T >.
Definition at line 3774 of file flow_graph.h.
|
inlineprotectedvirtual |
Put item to successor; return task to run the successor if possible.
Implements tbb::flow::interface10::receiver< T >.
Reimplemented in tbb::flow::interface10a::write_once_node< T >.
Definition at line 3809 of file flow_graph.h.
|
inlineprotected |
Definition at line 3814 of file flow_graph.h.
References tbb::flow::internal::SUCCESSFULLY_ENQUEUED, and tbb::flow::interface10::internal::round_robin_cache< T, M >::try_put_task().
|
inlinevirtual |
Releases the reserved item.
Reimplemented from tbb::flow::interface10::internal::untyped_sender.
Definition at line 3789 of file flow_graph.h.
|
inlinevirtual |
Reserves an item.
Reimplemented from tbb::flow::interface10::sender< T >.
Definition at line 3784 of file flow_graph.h.
|
friend |
Definition at line 3807 of file flow_graph.h.
|
friend |
Definition at line 3808 of file flow_graph.h.
Definition at line 3806 of file flow_graph.h.
|
protected |
Definition at line 3848 of file flow_graph.h.
|
protected |
Definition at line 3849 of file flow_graph.h.
|
protected |
Definition at line 3843 of file flow_graph.h.
|
protected |
Definition at line 3844 of file flow_graph.h.