An executable node that acts as a source, i.e. it has no predecessors. More...
#include <flow_graph.h>
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. | |
typedef std::vector < successor_type * > | successor_vector_type |
![]() | |
typedef Output | output_type |
The output type of this sender. | |
typedef receiver< Output > | successor_type |
The successor type for 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. | |
void | set_name (const char *name) |
bool | register_successor (successor_type &r) |
Add a new successor to this node. | |
bool | remove_successor (successor_type &r) |
Removes a successor from this node. | |
void | internal_add_built_successor (successor_type &r) |
interface to record edges for traversal & deletion | |
void | internal_delete_built_successor (successor_type &r) |
size_t | successor_count () |
void | copy_successors (successor_vector_type &v) |
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. More... | |
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 () |
![]() | |
graph_node (graph &g) | |
virtual void | extract (reset_flags f=rf_extract) |
![]() | |
virtual void | copy_successors (std::vector< successor_type * > &)=0 |
Protected Member Functions | |
void | reset (__TBB_PFG_RESET_ARG(reset_flags f)) |
resets the source_node to its initial state | |
![]() | |
virtual void | reset (__TBB_PFG_RESET_ARG(reset_flags f=rf_reset_protocol))=0 |
Friends | |
class | internal::source_task_bypass< source_node< output_type > > |
Additional Inherited Members | |
![]() | |
graph & | my_graph |
graph_node * | next |
graph_node * | prev |
An executable node that acts as a source, i.e. it has no predecessors.
|
inlinevirtual |
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::interface7::sender< Output >.