- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# flow_graph.h File Reference

The graph related classes and functions. More...

## 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

## Detailed Description

The graph related classes and functions.

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.

Copyright © 2005-2013 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.