Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Abstract base class that represents a node in a parse tree underlying a filter_t. More...
#include <pipeline.h>
Public Member Functions | |
virtual void | add_to (pipeline &)=0 |
Add concrete_filter to pipeline. More... | |
void | add_ref () |
Increment reference count. More... | |
void | remove_ref () |
Decrement reference count and delete if it becomes zero. More... | |
virtual | ~filter_node () |
Protected Member Functions | |
filter_node () | |
Private Attributes | |
tbb::atomic< intptr_t > | ref_count |
Additional Inherited Members | |
![]() | |
no_copy (const no_copy &)=delete | |
no_copy ()=default | |
Abstract base class that represents a node in a parse tree underlying a filter_t.
These nodes are always heap-allocated and can be shared by filter_t objects.
Definition at line 528 of file pipeline.h.
|
inlineprotected |
Definition at line 532 of file pipeline.h.
References ref_count.
|
inlinevirtual |
Definition at line 549 of file pipeline.h.
|
inline |
Increment reference count.
Definition at line 542 of file pipeline.h.
References ref_count.
Referenced by tbb::interface6::internal::filter_node_join::filter_node_join(), tbb::interface6::filter_t< T, U >::filter_t(), and tbb::interface6::filter_t< T, U >::operator=().
|
pure virtual |
Add concrete_filter to pipeline.
Implemented in tbb::interface6::internal::filter_node_join, and tbb::interface6::internal::filter_node_leaf< T, U, Body >.
Referenced by tbb::interface6::internal::filter_node_join::add_to().
|
inline |
Decrement reference count and delete if it becomes zero.
Definition at line 544 of file pipeline.h.
References __TBB_ASSERT, and ref_count.
Referenced by tbb::interface6::filter_t< T, U >::clear(), tbb::interface6::filter_t< T, U >::operator=(), tbb::interface6::internal::filter_node_join::~filter_node_join(), and tbb::interface6::filter_t< T, U >::~filter_t().
|
private |
Count must be atomic because it is hidden state for user, but might be shared by threads.
Definition at line 530 of file pipeline.h.
Referenced by add_ref(), filter_node(), and remove_ref().