tbb::flow::interface11::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::interface11::source_node< Output >:
Collaboration diagram for tbb::flow::interface11::source_node< Output >:

## Public Types

typedef Output | output_type
| The type of the output message, which is complete. More...
typedef sender< output_type >::successor_type | successor_type
| The type of successors of this node. More...
typedef null_type | input_type
Public Types inherited from tbb::flow::interface11::internal::untyped_sender
typedef untyped_receiver | successor_type
| The successor type for this node. More...

## Public Member Functions

template<typename Body >
__TBB_NOINLINE_SYM | source_node (graph &g, Body body, bool is_active=true)
| Constructor for a node with a successor. More...
__TBB_NOINLINE_SYM | source_node (const source_node &src)
| Copy constructor. More...
| ~source_node ()
| The destructor. More...
bool | register_successor (successor_type &r) __TBB_override
| Add a new successor to this node. More...
bool | remove_successor (successor_type &r) __TBB_override
| Removes a successor from this node. More...
bool | try_get (output_type &v) __TBB_override
| Request an item from the node. More...
bool | try_reserve (output_type &v) __TBB_override
| Reserves an item. More...
bool | try_release () __TBB_override
| Release a reserved item. More...
bool | try_consume () __TBB_override
| Consumes a reserved item. More...
void | activate ()
| Activates a node that was created in the inactive state. More...
template<typename Body >
Body | copy_function_object ()
Public Member Functions inherited from tbb::flow::interface11::graph_node
| graph_node (graph &g)
virtual | ~graph_node ()
Public Member Functions inherited from tbb::flow::interface11::internal::untyped_sender
virtual | ~untyped_sender ()

## Protected Member Functions

void | reset_node (reset_flags f) __TBB_override
| resets the source_node to its initial state More...
Protected Member Functions inherited from tbb::flow::interface11::sender< Output >
virtual bool | try_get_wrapper (void *p, bool is_async) __TBB_override
virtual bool | try_reserve_wrapper (void *p, bool is_async) __TBB_override
Protected Member Functions inherited from tbb::flow::interface11::internal::untyped_sender
template<typename X >
bool | try_get (X &t)
| Request an item from the sender. More...
template<typename X >
bool | try_reserve (X &t)
| Reserves an item in the sender. More...

## Private Member Functions

bool | try_reserve_apply_body (output_type &v)
task * | create_put_task ()
void | spawn_put ()
| Spawns a task that applies the body. More...
task * | apply_body_bypass ()
| Applies the body. Returning SUCCESSFULLY_ENQUEUED okay; forward_task_bypass will handle it. More...

## Private Attributes

spin_mutex | my_mutex
bool | my_active
bool | init_my_active
internal::source_body< output_type > * | my_body
internal::source_body< output_type > * | my_init_body
internal::broadcast_cache< output_type > | my_successors
bool | my_reserved
bool | my_has_cached_item
output_type | my_cached_item

## Friends

class | internal::source_task_bypass< source_node< output_type > >

## Additional Inherited Members

Public Attributes inherited from tbb::flow::interface11::sender< Output >
__TBB_DEPRECATED typedef Output | output_type
| The output type of this sender. More...
__TBB_DEPRECATED typedef internal::async_helpers< Output >::filtered_type | filtered_type
Protected Attributes inherited from tbb::flow::interface11::graph_node
graph & | my_graph
graph_node * | next
graph_node * | prev

## Detailed Description

### template<typename Output>
class tbb::flow::interface11::source_node< Output >

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

Definition at line 896 of file flow_graph.h.

## Member Typedef Documentation

## input_type

template<typename Output >

typedef null_type tbb::flow::interface11::source_node< Output >::input_type

Definition at line 905 of file flow_graph.h.

## output_type

template<typename Output >

typedef Output tbb::flow::interface11::source_node< Output >::output_type

The type of the output message, which is complete.

Definition at line 899 of file flow_graph.h.

## successor_type

template<typename Output >

typedef sender<output_type>::successor_type tbb::flow::interface11::source_node< Output >::successor_type

The type of successors of this node.

Definition at line 902 of file flow_graph.h.

## Constructor & Destructor Documentation

## source_node() [1/2]

template<typename Output >
template<typename Body >

__TBB_NOINLINE_SYM tbb::flow::interface11::source_node< Output >::source_node | ( | graph & | g,
|  | Body | body,
|  | bool | is_active = `true`
| ) |  |

inline

Constructor for a node with a successor.

Definition at line 914 of file flow_graph.h.

: graph_node(g), my_active(is_active), init_my_active(is_active),
my_body( new internal::source_body_leaf< output_type, Body>(body) ),
my_init_body( new internal::source_body_leaf< output_type, Body>(body) ),
my_reserved(false), my_has_cached_item(false)
{
my_successors.set_owner(this);
tbb::internal::fgt_node_with_body( CODEPTR(), tbb::internal::FLOW_SOURCE_NODE, &this->my_graph,
static_cast<sender<output_type> *>(this), this->my_body );
}

References CODEPTR, tbb::internal::fgt_node_with_body(), tbb::flow::interface11::source_node< Output >::my_body, tbb::flow::interface11::graph_node::my_graph, and tbb::flow::interface11::source_node< Output >::my_successors.

Here is the call graph for this function:

## source_node() [2/2]

template<typename Output >

__TBB_NOINLINE_SYM tbb::flow::interface11::source_node< Output >::source_node | ( | const source_node< Output > & | src | ) |

inline

Copy constructor.

Definition at line 934 of file flow_graph.h.

:
graph_node(src.my_graph), sender<Output>(),
my_active(src.init_my_active),
init_my_active(src.init_my_active), my_body( src.my_init_body->clone() ), my_init_body(src.my_init_body->clone() ),
my_reserved(false), my_has_cached_item(false)
{
my_successors.set_owner(this);
tbb::internal::fgt_node_with_body(CODEPTR(), tbb::internal::FLOW_SOURCE_NODE, &this->my_graph,
static_cast<sender<output_type> *>(this), this->my_body );
}

References CODEPTR, tbb::internal::fgt_node_with_body(), tbb::flow::interface11::source_node< Output >::my_body, tbb::flow::interface11::graph_node::my_graph, and tbb::flow::interface11::source_node< Output >::my_successors.

Here is the call graph for this function:

## ~source_node()

template<typename Output >

tbb::flow::interface11::source_node< Output >::~source_node | ( |  | ) |

inline

The destructor.

Definition at line 946 of file flow_graph.h.

{ delete my_body; delete my_init_body; }

References tbb::flow::interface11::source_node< Output >::my_body, and tbb::flow::interface11::source_node< Output >::my_init_body.

## Member Function Documentation

## activate()

template<typename Output >

void tbb::flow::interface11::source_node< Output >::activate | ( |  | ) |

inline

Activates a node that was created in the inactive state.

Definition at line 1052 of file flow_graph.h.

{
spin_mutex::scoped_lock lock(my_mutex);
my_active = true;
if (!my_successors.empty())
spawn_put();
}

References lock, tbb::flow::interface11::source_node< Output >::my_active, tbb::flow::interface11::source_node< Output >::my_mutex, tbb::flow::interface11::source_node< Output >::my_successors, and tbb::flow::interface11::source_node< Output >::spawn_put().

Here is the call graph for this function:

## apply_body_bypass()

template<typename Output >

task* tbb::flow::interface11::source_node< Output >::apply_body_bypass | ( |  | ) |

inline private

Applies the body. Returning SUCCESSFULLY_ENQUEUED okay; forward_task_bypass will handle it.

Definition at line 1145 of file flow_graph.h.

{
output_type v;
if ( !try_reserve_apply_body(v) )
return NULL;
task *last_task = my_successors.try_put_task(v);
if ( last_task )
try_consume();
else
try_release();
return last_task;
}

References tbb::flow::interface11::source_node< Output >::my_successors, tbb::flow::interface11::source_node< Output >::try_consume(), tbb::flow::interface11::source_node< Output >::try_release(), and tbb::flow::interface11::source_node< Output >::try_reserve_apply_body().

Here is the call graph for this function:

## copy_function_object()

template<typename Output >
template<typename Body >

Body tbb::flow::interface11::source_node< Output >::copy_function_object | ( |  | ) |

inline

Definition at line 1060 of file flow_graph.h.

{
internal::source_body<output_type> &body_ref = *this->my_body;
return dynamic_cast< internal::source_body_leaf<output_type, Body> & >(body_ref).get_body();
}

References tbb::flow::interface11::source_node< Output >::my_body.

## create_put_task()

template<typename Output >

task* tbb::flow::interface11::source_node< Output >::create_put_task | ( |  | ) |

inline private

Definition at line 1131 of file flow_graph.h.

{
return ( new ( task::allocate_additional_child_of( *(this->my_graph.root_task()) ) )
internal:: source_task_bypass < source_node< output_type > >( *this ) );
}

References tbb::flow::interface11::graph_node::my_graph, and tbb::flow::interface10::graph::root_task().

Referenced by tbb::flow::interface11::source_node< Output >::reset_node(), and tbb::flow::interface11::source_node< Output >::spawn_put().

Here is the call graph for this function:
Here is the caller graph for this function:

## register_successor()

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::register_successor | ( | successor_type & | r | ) |

inline virtual

Add a new successor to this node.

Implements tbb::flow::interface11::internal::untyped_sender.

Definition at line 955 of file flow_graph.h.

{
spin_mutex::scoped_lock lock(my_mutex);
my_successors.register_successor(r);
if ( my_active )
spawn_put();
return true;
}

References lock, tbb::flow::interface11::source_node< Output >::my_active, tbb::flow::interface11::source_node< Output >::my_mutex, tbb::flow::interface11::source_node< Output >::my_successors, and tbb::flow::interface11::source_node< Output >::spawn_put().

Here is the call graph for this function:

## remove_successor()

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::remove_successor | ( | successor_type & | r | ) |

inline virtual

Removes a successor from this node.

Implements tbb::flow::interface11::internal::untyped_sender.

Definition at line 964 of file flow_graph.h.

{
spin_mutex::scoped_lock lock(my_mutex);
my_successors.remove_successor(r);
return true;
}

References lock, tbb::flow::interface11::source_node< Output >::my_mutex, and tbb::flow::interface11::source_node< Output >::my_successors.

## reset_node()

template<typename Output >

void tbb::flow::interface11::source_node< Output >::reset_node | ( | reset_flags | f | ) |

inline protected virtual

resets the source_node to its initial state

Implements tbb::flow::interface11::graph_node.

Definition at line 1077 of file flow_graph.h.

{
my_active = init_my_active;
my_reserved =false;
if(my_has_cached_item) {
my_has_cached_item = false;
}
if(f & rf_clear_edges) my_successors.clear();
if(f & rf_reset_bodies) {
internal::source_body<output_type> *tmp = my_init_body->clone();
delete my_body;
my_body = tmp;
}
if(my_active)
internal::add_task_to_graph_reset_list(this->my_graph, create_put_task());
}

References tbb::flow::interface11::internal::add_task_to_graph_reset_list(), internal::source_body< Output >::clone(), tbb::flow::interface11::source_node< Output >::create_put_task(), tbb::flow::interface11::source_node< Output >::init_my_active, tbb::flow::interface11::source_node< Output >::my_active, tbb::flow::interface11::source_node< Output >::my_body, tbb::flow::interface11::graph_node::my_graph, tbb::flow::interface11::source_node< Output >::my_has_cached_item, tbb::flow::interface11::source_node< Output >::my_init_body, tbb::flow::interface11::source_node< Output >::my_reserved, tbb::flow::interface11::source_node< Output >::my_successors, tbb::flow::interface11::rf_clear_edges, and tbb::flow::interface11::rf_reset_bodies.

Here is the call graph for this function:

## spawn_put()

template<typename Output >

void tbb::flow::interface11::source_node< Output >::spawn_put | ( |  | ) |

inline private

Spawns a task that applies the body.

Definition at line 1137 of file flow_graph.h.

{
if(internal::is_graph_active(this->my_graph)) {
internal::spawn_in_graph_arena(this->my_graph, *create_put_task());
}
}

References tbb::flow::interface11::source_node< Output >::create_put_task(), tbb::flow::interface11::internal::is_graph_active(), tbb::flow::interface11::graph_node::my_graph, and tbb::flow::interface11::internal::spawn_in_graph_arena().

Referenced by tbb::flow::interface11::source_node< Output >::activate(), tbb::flow::interface11::source_node< Output >::register_successor(), tbb::flow::interface11::source_node< Output >::try_consume(), tbb::flow::interface11::source_node< Output >::try_get(), and tbb::flow::interface11::source_node< Output >::try_release().

Here is the call graph for this function:
Here is the caller graph for this function:

## try_consume()

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::try_consume | ( |  | ) |

inline virtual

Consumes a reserved item.

Reimplemented from tbb::flow::interface11::internal::untyped_sender.

Definition at line 1040 of file flow_graph.h.

{
spin_mutex::scoped_lock lock(my_mutex);
__TBB_ASSERT( my_reserved && my_has_cached_item, "consuming non-existent reservation" );
my_reserved = false;
my_has_cached_item = false;
if ( !my_successors.empty() ) {
spawn_put();
}
return true;
}

References __TBB_ASSERT, lock, tbb::flow::interface11::source_node< Output >::my_has_cached_item, tbb::flow::interface11::source_node< Output >::my_mutex, tbb::flow::interface11::source_node< Output >::my_reserved, tbb::flow::interface11::source_node< Output >::my_successors, and tbb::flow::interface11::source_node< Output >::spawn_put().

Referenced by tbb::flow::interface11::source_node< Output >::apply_body_bypass().

Here is the call graph for this function:
Here is the caller graph for this function:

## try_get()

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::try_get | ( | output_type & | v | ) |

inline virtual

Request an item from the node.

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

Definition at line 996 of file flow_graph.h.

{
spin_mutex::scoped_lock lock(my_mutex);
if ( my_reserved )
return false;
if ( my_has_cached_item ) {
v = my_cached_item;
my_has_cached_item = false;
return true;
}
// we've been asked to provide an item, but we have none. enqueue a task to
// provide one.
spawn_put();
return false;
}

References lock, tbb::flow::interface11::source_node< Output >::my_cached_item, tbb::flow::interface11::source_node< Output >::my_has_cached_item, tbb::flow::interface11::source_node< Output >::my_mutex, tbb::flow::interface11::source_node< Output >::my_reserved, and tbb::flow::interface11::source_node< Output >::spawn_put().

Here is the call graph for this function:

## try_release()

template<typename Output >

bool tbb::flow::interface11::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::interface11::internal::untyped_sender.

Definition at line 1030 of file flow_graph.h.

{
spin_mutex::scoped_lock lock(my_mutex);
__TBB_ASSERT( my_reserved && my_has_cached_item, "releasing non-existent reservation" );
my_reserved = false;
if(!my_successors.empty())
spawn_put();
return true;
}

References __TBB_ASSERT, lock, tbb::flow::interface11::source_node< Output >::my_has_cached_item, tbb::flow::interface11::source_node< Output >::my_mutex, tbb::flow::interface11::source_node< Output >::my_reserved, tbb::flow::interface11::source_node< Output >::my_successors, and tbb::flow::interface11::source_node< Output >::spawn_put().

Referenced by tbb::flow::interface11::source_node< Output >::apply_body_bypass().

Here is the call graph for this function:
Here is the caller graph for this function:

## try_reserve()

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::try_reserve | ( | output_type & | v | ) |

inline virtual

Reserves an item.

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

Definition at line 1013 of file flow_graph.h.

{
spin_mutex::scoped_lock lock(my_mutex);
if ( my_reserved ) {
return false;
}
if ( my_has_cached_item ) {
v = my_cached_item;
my_reserved = true;
return true;
} else {
return false;
}
}

References lock, tbb::flow::interface11::source_node< Output >::my_cached_item, tbb::flow::interface11::source_node< Output >::my_has_cached_item, tbb::flow::interface11::source_node< Output >::my_mutex, and tbb::flow::interface11::source_node< Output >::my_reserved.

## try_reserve_apply_body()

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::try_reserve_apply_body | ( | output_type & | v | ) |

inline private

Definition at line 1105 of file flow_graph.h.

{
spin_mutex::scoped_lock lock(my_mutex);
if ( my_reserved ) {
return false;
}
if ( !my_has_cached_item ) {
tbb::internal::fgt_begin_body( my_body );
bool r = (*my_body)(my_cached_item);
tbb::internal::fgt_end_body( my_body );
if (r) {
my_has_cached_item = true;
}
}
if ( my_has_cached_item ) {
v = my_cached_item;
my_reserved = true;
return true;
} else {
return false;
}
}

References tbb::internal::fgt_begin_body(), tbb::internal::fgt_end_body(), lock, tbb::flow::interface11::source_node< Output >::my_body, tbb::flow::interface11::source_node< Output >::my_cached_item, tbb::flow::interface11::source_node< Output >::my_has_cached_item, tbb::flow::interface11::source_node< Output >::my_mutex, and tbb::flow::interface11::source_node< Output >::my_reserved.

Referenced by tbb::flow::interface11::source_node< Output >::apply_body_bypass().

Here is the call graph for this function:
Here is the caller graph for this function:

## Friends And Related Function Documentation

## internal::source_task_bypass< source_node< output_type > >

template<typename Output >

friend class internal::source_task_bypass< source_node< output_type > >

friend

Definition at line 1143 of file flow_graph.h.

## Member Data Documentation

## init_my_active

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::init_my_active

private

Definition at line 1096 of file flow_graph.h.

Referenced by tbb::flow::interface11::source_node< Output >::reset_node().

## my_active

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::my_active

private

Definition at line 1095 of file flow_graph.h.

Referenced by tbb::flow::interface11::source_node< Output >::activate(), tbb::flow::interface11::source_node< Output >::register_successor(), and tbb::flow::interface11::source_node< Output >::reset_node().

## my_body

template<typename Output >

internal::source_body<output_type>* tbb::flow::interface11::source_node< Output >::my_body

private

Definition at line 1097 of file flow_graph.h.

Referenced by tbb::flow::interface11::source_node< Output >::copy_function_object(), tbb::flow::interface11::source_node< Output >::reset_node(), tbb::flow::interface11::source_node< Output >::source_node(), tbb::flow::interface11::source_node< Output >::try_reserve_apply_body(), and tbb::flow::interface11::source_node< Output >::~source_node().

## my_cached_item

template<typename Output >

output_type tbb::flow::interface11::source_node< Output >::my_cached_item

private

Definition at line 1102 of file flow_graph.h.

Referenced by tbb::flow::interface11::source_node< Output >::try_get(), tbb::flow::interface11::source_node< Output >::try_reserve(), and tbb::flow::interface11::source_node< Output >::try_reserve_apply_body().

## my_has_cached_item

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::my_has_cached_item

private

Definition at line 1101 of file flow_graph.h.

Referenced by tbb::flow::interface11::source_node< Output >::reset_node(), tbb::flow::interface11::source_node< Output >::try_consume(), tbb::flow::interface11::source_node< Output >::try_get(), tbb::flow::interface11::source_node< Output >::try_release(), tbb::flow::interface11::source_node< Output >::try_reserve(), and tbb::flow::interface11::source_node< Output >::try_reserve_apply_body().

## my_init_body

template<typename Output >

internal::source_body<output_type>* tbb::flow::interface11::source_node< Output >::my_init_body

private

Definition at line 1098 of file flow_graph.h.

Referenced by tbb::flow::interface11::source_node< Output >::reset_node(), and tbb::flow::interface11::source_node< Output >::~source_node().

## my_mutex

template<typename Output >

spin_mutex tbb::flow::interface11::source_node< Output >::my_mutex

private

Definition at line 1094 of file flow_graph.h.

Referenced by tbb::flow::interface11::source_node< Output >::activate(), tbb::flow::interface11::source_node< Output >::register_successor(), tbb::flow::interface11::source_node< Output >::remove_successor(), tbb::flow::interface11::source_node< Output >::try_consume(), tbb::flow::interface11::source_node< Output >::try_get(), tbb::flow::interface11::source_node< Output >::try_release(), tbb::flow::interface11::source_node< Output >::try_reserve(), and tbb::flow::interface11::source_node< Output >::try_reserve_apply_body().

## my_reserved

template<typename Output >

bool tbb::flow::interface11::source_node< Output >::my_reserved

private

Definition at line 1100 of file flow_graph.h.

Referenced by tbb::flow::interface11::source_node< Output >::reset_node(), tbb::flow::interface11::source_node< Output >::try_consume(), tbb::flow::interface11::source_node< Output >::try_get(), tbb::flow::interface11::source_node< Output >::try_release(), tbb::flow::interface11::source_node< Output >::try_reserve(), and tbb::flow::interface11::source_node< Output >::try_reserve_apply_body().

## my_successors

template<typename Output >

internal::broadcast_cache< output_type > tbb::flow::interface11::source_node< Output >::my_successors

private

Definition at line 1099 of file flow_graph.h.

Referenced by tbb::flow::interface11::source_node< Output >::activate(), tbb::flow::interface11::source_node< Output >::apply_body_bypass(), tbb::flow::interface11::source_node< Output >::register_successor(), tbb::flow::interface11::source_node< Output >::remove_successor(), tbb::flow::interface11::source_node< Output >::reset_node(), tbb::flow::interface11::source_node< Output >::source_node(), tbb::flow::interface11::source_node< Output >::try_consume(), and tbb::flow::interface11::source_node< Output >::try_release().

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

- flow_graph.h

tbb::flow::interface11::source_node::my_body
internal::source_body< output_type > * my_body
Definition: flow_graph.h:1097
tbb::flow::interface11::internal::is_graph_active
bool is_graph_active(tbb::flow::interface10::graph &g)
Definition: _flow_graph_impl.h:494
tbb::flow::interface11::internal::spawn_in_graph_arena
void spawn_in_graph_arena(tbb::flow::interface10::graph &g, tbb::task &arena_task)
Spawns a task inside graph arena.
Definition: _flow_graph_impl.h:521
tbb::flow::interface11::source_node::output_type
Output output_type
The type of the output message, which is complete.
Definition: flow_graph.h:899
CODEPTR
#define CODEPTR()
Definition: _flow_graph_trace_impl.h:297
tbb::flow::interface11::source_node::my_active
bool my_active
Definition: flow_graph.h:1095
tbb::flow::interface11::graph_node::graph_node
graph_node(graph &g)
Definition: flow_graph.h:880
internal::source_body::clone
virtual source_body * clone()=0
__TBB_ASSERT
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
tbb::flow::interface11::internal::add_task_to_graph_reset_list
void add_task_to_graph_reset_list(tbb::flow::interface10::graph &g, tbb::task *tp)
Definition: _flow_graph_impl.h:537
tbb::flow::interface11::source_node::my_mutex
spin_mutex my_mutex
Definition: flow_graph.h:1094
tbb::internal::fgt_node_with_body
static void fgt_node_with_body(void *, string_index, void *, void *, void *)
Definition: _flow_graph_trace_impl.h:330
internal::source_body< output_type >
tbb::flow::interface11::source_node::spawn_put
void spawn_put()
Spawns a task that applies the body.
Definition: flow_graph.h:1137
tbb::flow::interface11::source_node::my_has_cached_item
bool my_has_cached_item
Definition: flow_graph.h:1101
tbb::flow::interface11::source_node::try_reserve_apply_body
bool try_reserve_apply_body(output_type &v)
Definition: flow_graph.h:1105
tbb::spin_mutex::scoped_lock
friend class scoped_lock
Definition: spin_mutex.h:179
tbb::internal::fgt_begin_body
static void fgt_begin_body(void *)
Definition: _flow_graph_trace_impl.h:336
tbb::flow::interface11::graph_node::my_graph
graph & my_graph
Definition: _flow_graph_impl.h:464
tbb::flow::interface11::source_node::init_my_active
bool init_my_active
Definition: flow_graph.h:1096
tbb::flow::interface11::source_node::create_put_task
task * create_put_task()
Definition: flow_graph.h:1131
tbb::flow::interface11::source_node::my_reserved
bool my_reserved
Definition: flow_graph.h:1100
lock
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void * lock
Definition: ittnotify_static.h:121
internal::source_task_bypass
A task that calls a node's apply_body_bypass function with no input.
Definition: _flow_graph_body_impl.h:320
task
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task
Definition: ittnotify_static.h:119
tbb::flow::interface11::source_node::my_successors
internal::broadcast_cache< output_type > my_successors
Definition: flow_graph.h:1099
tbb::flow::interface11::source_node::try_release
bool try_release() __TBB_override
Release a reserved item.
Definition: flow_graph.h:1030
tbb::flow::interface11::rf_clear_edges
Definition: _flow_graph_impl.h:161
tbb::flow::interface11::source_node::my_init_body
internal::source_body< output_type > * my_init_body
Definition: flow_graph.h:1098
tbb::internal::fgt_end_body
static void fgt_end_body(void *)
Definition: _flow_graph_trace_impl.h:337
tbb::flow::interface11::rf_reset_bodies
Definition: _flow_graph_impl.h:160
internal::source_body_leaf
The leaf for source_body.
Definition: _flow_graph_body_impl.h:105
tbb::flow::interface11::source_node::my_cached_item
output_type my_cached_item
Definition: flow_graph.h:1102
tbb::flow::interface10::graph::root_task
tbb::task * root_task()
Returns the root task of the graph.
Definition: _flow_graph_impl.h:374
tbb::flow::interface11::source_node::try_consume
bool try_consume() __TBB_override
Consumes a reserved item.
Definition: flow_graph.h:1040

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