Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::interface6::internal::pipeline_proxy Class Reference

The class that represents an object of the pipeline for parallel_pipeline(). More...

#include <pipeline.h>

Collaboration diagram for tbb::interface6::internal::pipeline_proxy:

Public Member Functions

 pipeline_proxy (const filter_t< void, void > &filter_chain)
 
 ~pipeline_proxy ()
 
tbb::pipeline * operator-> ()
 

Private Attributes

tbb::pipeline my_pipe
 

Detailed Description

The class that represents an object of the pipeline for parallel_pipeline().

It primarily serves as RAII class that deletes heap-allocated filter instances.

Definition at line 515 of file pipeline.h.

Constructor & Destructor Documentation

◆ pipeline_proxy()

tbb::interface6::internal::pipeline_proxy::pipeline_proxy ( const filter_t< void, void > &  filter_chain)
inline

Definition at line 651 of file pipeline.h.

651  : my_pipe() {
652  __TBB_ASSERT( filter_chain.root, "cannot apply parallel_pipeline to default-constructed filter_t" );
653  filter_chain.root->add_to(my_pipe);
654 }
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165

References __TBB_ASSERT, my_pipe, and tbb::interface6::filter_t< T, U >::root.

◆ ~pipeline_proxy()

tbb::interface6::internal::pipeline_proxy::~pipeline_proxy ( )
inline

Definition at line 519 of file pipeline.h.

519  {
520  while( filter* f = my_pipe.filter_list )
521  delete f; // filter destructor removes it from the pipeline
522  }

References my_pipe.

Member Function Documentation

◆ operator->()

tbb::pipeline* tbb::interface6::internal::pipeline_proxy::operator-> ( )
inline

Definition at line 523 of file pipeline.h.

523 { return &my_pipe; }

References my_pipe.

Member Data Documentation

◆ my_pipe

tbb::pipeline tbb::interface6::internal::pipeline_proxy::my_pipe
private

Definition at line 516 of file pipeline.h.

Referenced by operator->(), pipeline_proxy(), and ~pipeline_proxy().


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

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.