Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
tbb::flow::interface8::async_node< Input, Output, Policy, Allocator > Class Template Reference

Implements async node. More...

#include <flow_graph.h>

Inheritance diagram for tbb::flow::interface8::async_node< Input, Output, Policy, Allocator >:
tbb::flow::interface8::multifunction_node< Input, tuple< Output >, Policy, Allocator > tbb::flow::interface8::internal::async_gateway< Output > tbb::flow::interface8::sender< Output > tbb::flow::interface8::graph_node

Classes

struct  try_put_functor
 

Public Types

typedef Input input_type
 
typedef Output output_type
 
typedef sender< input_type > predecessor_type
 
typedef receiver< output_type > successor_type
 
typedef
internal::async_gateway
< output_type > 
async_gateway_type
 
typedef
internal::edge_container
< successor_type
built_successors_type
 interface to record edges for traversal & deletion
 
typedef
built_successors_type::edge_list_type 
successor_list_type
 
- Public Types inherited from tbb::flow::interface8::multifunction_node< Input, tuple< Output >, Policy, Allocator >
typedef Input input_type
 
typedef null_type output_type
 
typedef
internal::wrap_tuple_elements
< N,
internal::multifunction_output,
tuple< Output > >::type 
output_ports_type
 
typedef
internal::multifunction_input
< input_type,
output_ports_type, Allocator > 
fInput_type
 
typedef
internal::function_input_queue
< input_type, Allocator > 
input_queue_type
 
- Public Types inherited from tbb::flow::interface8::internal::async_gateway< Output >
typedef Output output_type
 
- Public Types inherited from tbb::flow::interface8::sender< Output >
typedef Output output_type
 The output type of this sender.
 
typedef receiver< Output > successor_type
 The successor type for this node.
 
typedef
internal::edge_container
< successor_type
built_successors_type
 interface to record edges for traversal & deletion
 
typedef
built_successors_type::edge_list_type 
successor_list_type
 

Public Member Functions

template<typename Body >
 async_node (graph &g, size_t concurrency, Body body)
 
 async_node (const async_node &other)
 
async_gateway_typeasync_gateway ()
 
bool async_try_put (const output_type &i)
 Implements async_gateway::async_try_put for an external activity to submit a message to FG.
 
void async_reserve ()
 Increment reference count of graph to prevent premature return from wait_for_all.
 
void async_commit ()
 Decrement reference count of graph to allow return from wait_for_all.
 
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.
 
template<typename Body >
Body copy_function_object ()
 
built_successors_typebuilt_successors ()
 
void internal_add_built_successor (successor_type &r)
 
void internal_delete_built_successor (successor_type &r)
 
void copy_successors (successor_list_type &l)
 
size_t successor_count ()
 
- Public Member Functions inherited from tbb::flow::interface8::multifunction_node< Input, tuple< Output >, Policy, Allocator >
 multifunction_node (graph &g, size_t concurrency, Body body)
 
 multifunction_node (const multifunction_node &other)
 
void set_name (const char *name)
 
void extract ()
 
- Public Member Functions inherited from tbb::flow::interface8::graph_node
 graph_node (graph &g)
 
- Public Member Functions inherited from tbb::flow::interface8::sender< Output >
virtual bool register_successor (successor_type &r)=0
 Add a new successor to this node.
 
virtual bool remove_successor (successor_type &r)=0
 Removes a successor from this node.
 
virtual bool try_get (Output &)
 Request an item from the sender.
 
virtual bool try_reserve (Output &)
 Reserves an item in the sender.
 
virtual bool try_release ()
 Releases the reserved item.
 
virtual bool try_consume ()
 Consumes the reserved item.
 
virtual void internal_add_built_successor (successor_type &)=0
 
virtual void internal_delete_built_successor (successor_type &)=0
 

Protected Types

typedef multifunction_node
< Input, tuple< Output >
, Policy, Allocator > 
base_type
 
typedef
internal::multifunction_input
< Input, typename
base_type::output_ports_type,
Allocator > 
mfn_input_type
 

Protected Member Functions

void reset_node (reset_flags f)
 
- Protected Member Functions inherited from tbb::flow::interface8::multifunction_node< Input, tuple< Output >, Policy, Allocator >
void reset_node (reset_flags f)
 

Additional Inherited Members

- Protected Attributes inherited from tbb::flow::interface8::graph_node
graphmy_graph
 
graph_nodenext
 
graph_nodeprev
 
- Static Protected Attributes inherited from tbb::flow::interface8::multifunction_node< Input, tuple< Output >, Policy, Allocator >
static const int N
 

Detailed Description

template<typename Input, typename Output, typename Policy = queueing, typename Allocator = cache_aligned_allocator<Input>>
class tbb::flow::interface8::async_node< Input, Output, Policy, Allocator >

Implements async node.


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

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