Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args > Class Template Reference
Inheritance diagram for tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >:
Collaboration diagram for tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >:

Classes

class  run_finalize_func
 
class  run_kernel_func
 
class  send_func
 

Public Member Functions

 args_storage (const kernel_type &kernel, StreamFactory &f, Args &&... args)
 
 args_storage (const args_storage &k)
 
 args_storage (const args_storage_base &k, Args &&... args)
 
void enqueue (kernel_input_tuple &ip, output_ports_type &op, const streaming_node &n) __TBB_override
 
void send (device_type d) __TBB_override
 
args_storage_baseclone () const __TBB_override
 
- Public Member Functions inherited from tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage_base
virtual ~args_storage_base ()
 

Private Types

typedef args_storage_base::output_ports_type output_ports_type
 
typedef tbb::internal::stored_pack< Args... > args_pack_type
 

Private Member Functions

template<int N>
bool do_try_put (const kernel_input_tuple &ip, output_ports_type &op) const
 
template<int... S>
bool do_try_put (const kernel_input_tuple &ip, output_ports_type &op, internal::sequence< S... >) const
 

Static Private Member Functions

template<typename FinalizeFn >
static run_finalize_func< FinalizeFn > make_run_finalize_func (kernel_input_tuple &ip, StreamFactory &factory, FinalizeFn fn)
 

Private Attributes

args_pack_type my_args_pack
 

Additional Inherited Members

- Public Types inherited from tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage_base
typedef kernel_multifunction_node::output_ports_type output_ports_type
 
- Protected Member Functions inherited from tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage_base
 args_storage_base (const kernel_type &kernel, StreamFactory &f)
 
 args_storage_base (const args_storage_base &k)
 
- Protected Attributes inherited from tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage_base
const kernel_type my_kernel
 
StreamFactory & my_factory
 

Detailed Description

template<typename... Ports, typename JP, typename StreamFactory>
template<typename... Args>
class tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >

Definition at line 490 of file flow_graph.h.

Member Typedef Documentation

◆ args_pack_type

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
typedef tbb::internal::stored_pack<Args...> tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::args_pack_type
private

Definition at line 629 of file flow_graph.h.

◆ output_ports_type

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
typedef args_storage_base::output_ports_type tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::output_ports_type
private

Definition at line 491 of file flow_graph.h.

Constructor & Destructor Documentation

◆ args_storage() [1/3]

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::args_storage ( const kernel_type kernel,
StreamFactory &  f,
Args &&...  args 
)
inline

◆ args_storage() [2/3]

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::args_storage ( const args_storage &  k)
inline

◆ args_storage() [3/3]

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::args_storage ( const args_storage_base k,
Args &&...  args 
)
inline

Definition at line 593 of file flow_graph.h.

Member Function Documentation

◆ clone()

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
args_storage_base* tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::clone ( ) const
inlinevirtual

◆ do_try_put() [1/2]

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
template<int N>
bool tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::do_try_put ( const kernel_input_tuple ip,
output_ports_type op 
) const
inlineprivate

Definition at line 495 of file flow_graph.h.

505  { return false; }

◆ do_try_put() [2/2]

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
template<int... S>
bool tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::do_try_put ( const kernel_input_tuple ip,
output_ports_type op,
internal::sequence< S... >   
) const
inlineprivate

Definition at line 502 of file flow_graph.h.

505  { return false; }

◆ enqueue()

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
void tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::enqueue ( kernel_input_tuple ip,
output_ports_type op,
const streaming_node< tuple< Ports... >, JP, StreamFactory > &  n 
)
inlinevirtual

Implements tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage_base.

Definition at line 595 of file flow_graph.h.

602  {
603  my_predecessor_count = my_initial_predecessor_count = number_of_predecessors;
604  my_current_count = 0;
605  __TBB_FLOW_GRAPH_PRIORITY_EXPR( my_priority = priority; )
606  }
607 
609  __TBB_DEPRECATED continue_receiver( const continue_receiver& src ) : receiver<continue_msg>() {
610  my_predecessor_count = my_initial_predecessor_count = src.my_initial_predecessor_count;
611  my_current_count = 0;
612  __TBB_FLOW_GRAPH_PRIORITY_EXPR( my_priority = src.my_priority; )
613  }
614 
#define __TBB_FLOW_GRAPH_PRIORITY_EXPR(expr)
#define __TBB_DEPRECATED
Definition: tbb_config.h:639

◆ make_run_finalize_func()

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
template<typename FinalizeFn >
static run_finalize_func<FinalizeFn> tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::make_run_finalize_func ( kernel_input_tuple ip,
StreamFactory &  factory,
FinalizeFn  fn 
)
inlinestaticprivate

Definition at line 567 of file flow_graph.h.

575  :

◆ send()

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
void tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::send ( device_type  d)
inlinevirtual

Member Data Documentation

◆ my_args_pack

template<typename... Ports, typename JP , typename StreamFactory >
template<typename... Args>
args_pack_type tbb::flow::interface11::streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::my_args_pack
private

Definition at line 630 of file flow_graph.h.


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

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