Go to the source code of this file.
Namespaces | |
namespace | tbb |
namespace | tbb::internal |
namespace | tbb::internal::join_policy_namespace |
Classes | |
class | tbb::graph_node |
The base of all graph nodes. Allows them to be stored in a collection for deletion. More... | |
class | tbb::continue_msg |
An empty class used for messages that mean "I'm done". More... | |
class | tbb::sender< T > |
Pure virtual template class that defines a sender of messages of type T. More... | |
class | tbb::receiver< T > |
Pure virtual template class that defines a receiver of messages of type T. More... | |
class | tbb::continue_receiver |
Base class for receivers of completion messages. More... | |
class | tbb::graph |
The graph class. More... | |
class | tbb::graph::run_task< Body > |
class | tbb::graph::run_and_put_task< Receiver, Body > |
class | tbb::source_node< Output > |
An executable node that acts as a source, i.e. it has no predecessors. More... | |
class | tbb::function_node< Input, Output > |
Implements a function node that supports Input -> Output. More... | |
class | tbb::executable_node< Output > |
Implements an executable node that supports continue_msg -> Output. More... | |
class | tbb::overwrite_node< T > |
class | tbb::write_once_node< T > |
class | tbb::continue_node |
Broadcasts completion message when it receives completion messages from all predecessors. Then resets. More... | |
class | tbb::broadcast_node< T > |
Forwards messages of type T to all successors. More... | |
class | tbb::buffer_node< T > |
Forwards messages in arbitrary order. More... | |
class | tbb::buffer_node< T >::buffer_operation |
class | tbb::buffer_node< T >::my_functor_t |
class | tbb::queue_node< T > |
Forwards messages in FIFO order. More... | |
class | tbb::sequencer_node< T > |
Forwards messages in sequence order. More... | |
class | tbb::priority_queue_node< T, Compare > |
Forwards messages in priority order. More... | |
class | tbb::limiter_node< T > |
Forwards messages only if the threshold has not been reached. More... | |
struct | tbb::internal::forwarding_base |
struct | tbb::internal::join_helper< N > |
struct | tbb::internal::join_helper< 1 > |
class | tbb::internal::two_phase_port< T > |
The two-phase join port. More... | |
class | tbb::internal::join_node_FE< two_phase, InputTuple, OutputTuple > |
class | tbb::internal::join_node_base< JP, InputTuple, OutputTuple > |
join_node_base More... | |
class | tbb::internal::unfolded_join_node< 2, OutputTuple, two_phase > |
class | tbb::internal::unfolded_join_node< 3, OutputTuple, two_phase > |
class | tbb::internal::unfolded_join_node< 4, OutputTuple, two_phase > |
class | tbb::internal::unfolded_join_node< 5, OutputTuple, two_phase > |
class | tbb::internal::unfolded_join_node< 6, OutputTuple, two_phase > |
class | tbb::internal::unfolded_join_node< 7, OutputTuple, two_phase > |
class | tbb::internal::unfolded_join_node< 8, OutputTuple, two_phase > |
class | tbb::internal::unfolded_join_node< 9, OutputTuple, two_phase > |
class | tbb::internal::unfolded_join_node< 10, OutputTuple, two_phase > |
class | tbb::join_node< OutputTuple, JP > |
Enumerations | |
enum | join_policy { two_phase } |
Functions | |
template<typename T> | |
void | tbb::make_edge (sender< T > &p, receiver< T > &s) |
Makes an edge between a single predecessor and a single successor. | |
template<typename T, typename SIterator> | |
void | tbb::make_edges (sender< T > &p, SIterator s_begin, SIterator s_end) |
Makes edges between a single predecessor and multiple successors. | |
template<typename T, typename PIterator> | |
void | tbb::make_edges (PIterator p_begin, PIterator p_end, receiver< T > &s) |
Makes edges between a set of predecessors and a single successor. |
There are some applications that best express dependencies as messages passed between nodes in a graph. These messages may contain data or simply act as signals that a predecessors has completed. The graph class and its associated node classes can be used to express such applcations.