Namespaces | |
| namespace | tbb |
| namespace | tbb::flow |
| namespace | tbb::flow::interface6 |
| namespace | tbb::flow::interface6::internal |
| namespace | internal::graph_policy_namespace |
| namespace | interface6::internal::graph_policy_namespace |
Classes | |
| class | tbb::flow::interface6::continue_msg |
| An empty class used for messages that mean "I'm done". More... | |
| class | tbb::flow::interface6::sender< T > |
| Pure virtual template class that defines a sender of messages of type T. More... | |
| class | tbb::flow::interface6::receiver< T > |
| Pure virtual template class that defines a receiver of messages of type T. More... | |
| class | tbb::flow::interface6::continue_receiver |
| Base class for receivers of completion messages. More... | |
| class | tbb::flow::interface6::graph_iterator< GraphContainerType, GraphNodeType > |
| class | tbb::flow::interface6::graph |
| The graph class. More... | |
| class | tbb::flow::interface6::graph::run_task< Body > |
| class | tbb::flow::interface6::graph::run_and_put_task< Receiver, Body > |
| class | tbb::flow::interface6::graph_node |
| The base of all graph nodes. More... | |
| class | tbb::flow::interface6::source_node< Output > |
| An executable node that acts as a source, i.e. it has no predecessors. More... | |
| class | tbb::flow::interface6::function_node< Input, Output,, Allocator > |
| Implements a function node that supports Input -> Output. More... | |
| class | tbb::flow::interface6::function_node< Input, Output, queueing, Allocator > |
| Implements a function node that supports Input -> Output. More... | |
| class | tbb::flow::interface6::multifunction_node< Input, Output,, Allocator > |
| implements a function node that supports Input -> (set of outputs) More... | |
| class | tbb::flow::interface6::multifunction_node< Input, Output, queueing, Allocator > |
| class | tbb::flow::interface6::split_node< TupleType, Allocator > |
| split_node: accepts a tuple as input, forwards each element of the tuple to its More... | |
| struct | tbb::flow::interface6::split_node< TupleType, Allocator >::splitting_body |
| class | tbb::flow::interface6::continue_node< Output > |
| Implements an executable node that supports continue_msg -> Output. More... | |
| class | tbb::flow::interface6::overwrite_node< T > |
| class | tbb::flow::interface6::write_once_node< T > |
| class | tbb::flow::interface6::broadcast_node< T > |
| Forwards messages of type T to all successors. More... | |
| class | tbb::flow::interface6::buffer_node< T, A > |
| Forwards messages in arbitrary order. More... | |
| class | tbb::flow::interface6::buffer_node< T, A >::buffer_operation |
| class | tbb::flow::interface6::queue_node< T, A > |
| Forwards messages in FIFO order. More... | |
| class | tbb::flow::interface6::sequencer_node< T, A > |
| Forwards messages in sequence order. More... | |
| class | tbb::flow::interface6::priority_queue_node< T, Compare, A > |
| Forwards messages in priority order. More... | |
| class | tbb::flow::interface6::limiter_node< T > |
| Forwards messages only if the threshold has not been reached. More... | |
| class | tbb::flow::interface6::join_node< OutputTuple, reserving > |
| class | tbb::flow::interface6::join_node< OutputTuple, queueing > |
| class | tbb::flow::interface6::join_node< OutputTuple, tag_matching > |
| class | tbb::flow::interface6::or_node< InputTuple > |
Enumerations | |
| enum | concurrency { unlimited = 0, serial = 1 } |
| An enumeration the provides the two most common concurrency levels: unlimited and serial. | |
Functions | |
| static tbb::task * | tbb::flow::interface6::combine_tasks (tbb::task *left, tbb::task *right) |
| template<typename T> | |
| void | tbb::flow::interface6::make_edge (sender< T > &p, receiver< T > &s) |
| Makes an edge between a single predecessor and a single successor. | |
| template<typename T> | |
| void | tbb::flow::interface6::remove_edge (sender< T > &p, receiver< T > &s) |
| Makes an edge between a single predecessor and a single successor. | |
| template<typename Body, typename Node> | |
| Body | tbb::flow::interface6::copy_body (Node &n) |
| Returns a copy of the body from a function or continue node. | |
Variables | |
| static tbb::task *const | tbb::flow::interface6::SUCCESSFULLY_ENQUEUED = (task *)-1 |
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.