tbb::flow::interface6::source_node< Output > Class Template Reference

An executable node that acts as a source, i.e. it has no predecessors. More...

#include <flow_graph.h>

Inheritance diagram for tbb::flow::interface6::source_node< Output >:

tbb::flow::interface6::graph_node tbb::flow::interface6::sender< Output > List of all members.

Public Types

typedef Output output_type
 The type of the output message, which is complete.
typedef receiver< Output > successor_type
 The type of successors of this node.

Public Member Functions

template<typename Body>
 source_node (graph &g, Body body, bool is_active=true)
 Constructor for a node with a successor.
 source_node (const source_node &src)
 Copy constructor.
 ~source_node ()
 The destructor.
bool register_successor (receiver< output_type > &r)
 Add a new successor to this node.
bool remove_successor (receiver< output_type > &r)
 Removes a successor from this node.
bool try_get (output_type &v)
 Request an item from the node.
bool try_reserve (output_type &v)
 Reserves an item.
bool try_release ()
 Release a reserved item.
bool try_consume ()
 Consumes a reserved item.
void activate ()
 Activates a node that was created in the inactive state.
template<typename Body>
Body copy_function_object ()

Protected Member Functions

void reset ()
 resets the node to its initial state

Friends

class internal::source_task_bypass< source_node< output_type > >

Detailed Description

template<typename Output>
class tbb::flow::interface6::source_node< Output >

An executable node that acts as a source, i.e. it has no predecessors.


Member Function Documentation

template<typename Output>
bool tbb::flow::interface6::source_node< Output >::try_release (  )  [inline, virtual]

Release a reserved item.

true = item has been released and so remains in sender, dest must request or reserve future items

Reimplemented from tbb::flow::interface6::sender< Output >.


The documentation for this class was generated from the following file:

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.