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

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:

- flow_graph.h

Copyright © 2005-2012 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.