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 494 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 630 of file pipeline.h.

630  : my_pipe() {
631  __TBB_ASSERT( filter_chain.root, "cannot apply parallel_pipeline to default-constructed filter_t" );
632  filter_chain.root->add_to(my_pipe);
633 }
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:169

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

498  {
499  while( filter* f = my_pipe.filter_list )
500  delete f; // filter destructor removes it from the pipeline
501  }
filter * filter_list
Pointer to first filter in the pipeline.
Definition: pipeline.h:268

References tbb::pipeline::filter_list, and my_pipe.

Member Function Documentation

◆ operator->()

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

Definition at line 502 of file pipeline.h.

502 { return &my_pipe; }

References my_pipe.

Member Data Documentation

◆ my_pipe

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

Definition at line 495 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-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.