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::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.


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.