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

- File List
- File Members

# graph.h File Reference

The graph related classes and functions. More...

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::reserving_port< T >
| The two-phase join port. More...
class | tbb::internal::queueing_port< T >
| queueing join_port More...
class | tbb::internal::join_node_FE< reserving, InputTuple, OutputTuple >
class | tbb::internal::join_node_FE< queueing, InputTuple, OutputTuple >
class | tbb::internal::join_node_base< JP, InputTuple, OutputTuple >
| join_node_base More...
class | tbb::internal::unfolded_join_node< 2, OutputTuple, reserving >
class | tbb::internal::unfolded_join_node< 3, OutputTuple, reserving >
class | tbb::internal::unfolded_join_node< 4, OutputTuple, reserving >
class | tbb::internal::unfolded_join_node< 5, OutputTuple, reserving >
class | tbb::internal::unfolded_join_node< 6, OutputTuple, reserving >
class | tbb::internal::unfolded_join_node< 7, OutputTuple, reserving >
class | tbb::internal::unfolded_join_node< 8, OutputTuple, reserving >
class | tbb::internal::unfolded_join_node< 9, OutputTuple, reserving >
class | tbb::internal::unfolded_join_node< 10, OutputTuple, reserving >
class | tbb::internal::unfolded_join_node< 2, OutputTuple, queueing >
class | tbb::internal::unfolded_join_node< 3, OutputTuple, queueing >
class | tbb::internal::unfolded_join_node< 4, OutputTuple, queueing >
class | tbb::internal::unfolded_join_node< 5, OutputTuple, queueing >
class | tbb::internal::unfolded_join_node< 6, OutputTuple, queueing >
class | tbb::internal::unfolded_join_node< 7, OutputTuple, queueing >
class | tbb::internal::unfolded_join_node< 8, OutputTuple, queueing >
class | tbb::internal::unfolded_join_node< 9, OutputTuple, queueing >
class | tbb::internal::unfolded_join_node< 10, OutputTuple, queueing >
class | tbb::join_node< OutputTuple, JP >
## Enumerations
enum | join_policy { reserving, queueing }
## Functions
template<size_t N, typename JNT>
std::tuple_element< N, typename JNT::input_ports_tuple_type >::type & | tbb::internal::input_port (JNT &jn)
| templated function to refer to input ports of the join node
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.

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