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 Member Functions | |
__TBB_NOINLINE_SYM | overwrite_node (graph &g) |
__TBB_NOINLINE_SYM | 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 |
bool | remove_successor (successor_type &s) __TBB_override |
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 () |
![]() | |
graph_node (graph &g) | |
virtual | ~graph_node () |
![]() | |
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) |
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 () const __TBB_override |
void | reset_receiver (reset_flags) __TBB_override |
void | reset_node (reset_flags f) __TBB_override |
![]() | |
virtual task * | try_put_task_wrapper (const void *p, bool is_async) __TBB_override |
![]() | |
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 Attributes | |
spin_mutex | my_mutex |
internal::broadcast_cache< input_type, null_rw_mutex > | my_successors |
input_type | my_buffer |
bool | my_buffer_is_valid |
![]() | |
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 |
Additional Inherited Members | |
![]() | |
__TBB_DEPRECATED typedef T | input_type |
The input type of this receiver. More... | |
__TBB_DEPRECATED typedef internal::async_helpers< T >::filtered_type | filtered_type |
![]() | |
__TBB_DEPRECATED typedef T | output_type |
The output type of this sender. More... | |
__TBB_DEPRECATED typedef internal::async_helpers< T >::filtered_type | filtered_type |
Definition at line 4410 of file flow_graph.h.
typedef T tbb::flow::interface11::overwrite_node< T >::input_type |
Definition at line 4412 of file flow_graph.h.
typedef T tbb::flow::interface11::overwrite_node< T >::output_type |
Definition at line 4413 of file flow_graph.h.
typedef receiver<input_type>::predecessor_type tbb::flow::interface11::overwrite_node< T >::predecessor_type |
Definition at line 4414 of file flow_graph.h.
typedef sender<output_type>::successor_type tbb::flow::interface11::overwrite_node< T >::successor_type |
Definition at line 4415 of file flow_graph.h.
|
inlineexplicit |
Definition at line 4423 of file flow_graph.h.
References CODEPTR, and tbb::internal::fgt_node().
|
inline |
Copy constructor; doesn't take anything from src; default won't work.
Definition at line 4437 of file flow_graph.h.
References CODEPTR, and tbb::internal::fgt_node().
|
inline |
Definition at line 4445 of file flow_graph.h.
|
inline |
Definition at line 4560 of file flow_graph.h.
|
inlineprotected |
Definition at line 4583 of file flow_graph.h.
|
inline |
Definition at line 4555 of file flow_graph.h.
|
inline |
Definition at line 4453 of file flow_graph.h.
References tbb::flow::interface11::internal::is_graph_active(), s, and tbb::flow::interface11::internal::spawn_in_graph_arena().
|
inline |
|
inlineprotectedvirtual |
Implements tbb::flow::interface11::graph_node.
Definition at line 4613 of file flow_graph.h.
References tbb::flow::interface11::rf_clear_edges.
|
inlineprotected |
Definition at line 4611 of file flow_graph.h.
|
inline |
|
inlinevirtual |
Request an item from the sender.
Reimplemented from tbb::flow::interface11::sender< T >.
Definition at line 4535 of file flow_graph.h.
|
inlineprotectedvirtual |
Put item to successor; return task to run the successor if possible.
Implements tbb::flow::interface11::receiver< T >.
Reimplemented in tbb::flow::interface11::write_once_node< T >.
Definition at line 4570 of file flow_graph.h.
References internal::successor_cache< T, spin_rw_mutex >::my_mutex.
|
inlineprotected |
Definition at line 4575 of file flow_graph.h.
References internal::successor_cache< T, spin_rw_mutex >::my_successors, and tbb::flow::internal::SUCCESSFULLY_ENQUEUED.
|
inline |
|
inlinevirtual |
Reserves an item.
Reimplemented from tbb::flow::interface11::sender< T >.
Definition at line 4545 of file flow_graph.h.
|
friend |
Definition at line 4568 of file flow_graph.h.
|
friend |
Definition at line 4569 of file flow_graph.h.
Definition at line 4567 of file flow_graph.h.
|
protected |
Definition at line 4609 of file flow_graph.h.
|
protected |
Definition at line 4610 of file flow_graph.h.
|
protected |
Definition at line 4604 of file flow_graph.h.
|
protected |
Definition at line 4605 of file flow_graph.h.