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::pipelineoperator-> ()
 

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 490 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 626 of file pipeline.h.

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

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

◆ ~pipeline_proxy()

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

Definition at line 494 of file pipeline.h.

References tbb::pipeline::filter_list.

494  {
495  while( filter* f = my_pipe.filter_list )
496  delete f; // filter destructor removes it from the pipeline
497  }
filter * filter_list
Pointer to first filter in the pipeline.
Definition: pipeline.h:264

Member Function Documentation

◆ operator->()

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

Definition at line 498 of file pipeline.h.

498 { return &my_pipe; }

Member Data Documentation

◆ my_pipe

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

Definition at line 491 of file pipeline.h.

Referenced by pipeline_proxy().


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.