Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
#include <pipeline.h>
Public Member Functions | |
concrete_filter (tbb::filter::mode filter_mode, const Body &body) | |
![]() | |
bool | is_serial () const |
True if filter is serial. More... | |
bool | is_ordered () const |
True if filter must receive stream in order. More... | |
bool | is_bound () const |
True if filter is thread-bound. More... | |
bool | object_may_be_null () |
true if an input filter can emit null More... | |
virtual __TBB_EXPORTED_METHOD | ~filter () |
Destroy filter. More... | |
Private Types | |
typedef token_helper< T, use_allocator< T >::value > | t_helper |
typedef t_helper::pointer | t_pointer |
typedef token_helper< U, use_allocator< U >::value > | u_helper |
typedef u_helper::pointer | u_pointer |
Private Member Functions | |
void * | operator() (void *input) __TBB_override |
Operate on an item from the input stream, and return item for output stream. More... | |
void | finalize (void *input) __TBB_override |
Destroys item if pipeline was cancelled. More... | |
Private Attributes | |
const Body & | my_body |
Additional Inherited Members | |
![]() | |
enum | mode { parallel = current_version | filter_is_out_of_order, serial_in_order = current_version | filter_is_serial, serial_out_of_order = current_version | filter_is_serial | filter_is_out_of_order, serial = serial_in_order } |
![]() | |
filter (bool is_serial_) | |
filter (mode filter_mode) | |
void __TBB_EXPORTED_METHOD | set_end_of_input () |
![]() | |
static const unsigned char | filter_is_serial = 0x1 |
The lowest bit 0 is for parallel vs. serial. More... | |
static const unsigned char | filter_is_out_of_order = 0x1<<4 |
4th bit distinguishes ordered vs unordered filters. More... | |
static const unsigned char | filter_is_bound = 0x1<<5 |
5th bit distinguishes thread-bound and regular filters. More... | |
static const unsigned char | filter_may_emit_null = 0x1<<6 |
6th bit marks input filters emitting small objects More... | |
static const unsigned char | exact_exception_propagation |
7th bit defines exception propagation mode expected by the application. More... | |
static const unsigned char | current_version = __TBB_PIPELINE_VERSION(5) |
static const unsigned char | version_mask = 0x7<<1 |
Definition at line 312 of file pipeline.h.
|
private |
Definition at line 431 of file pipeline.h.
|
private |
Definition at line 432 of file pipeline.h.
|
private |
Definition at line 433 of file pipeline.h.
|
private |
Definition at line 434 of file pipeline.h.
|
inline |
Definition at line 449 of file pipeline.h.
|
inlineprivatevirtual |
Destroys item if pipeline was cancelled.
Required to prevent memory leaks. Note it can be called concurrently even for serial filters.
Reimplemented from tbb::filter.
Definition at line 443 of file pipeline.h.
|
inlineprivatevirtual |
Operate on an item from the input stream, and return item for output stream.
Returns NULL if filter is a sink.
Implements tbb::filter.
Definition at line 436 of file pipeline.h.
References tbb::move(), and tbb::interface6::internal::concrete_filter< T, U, Body >::my_body.
|
private |
Definition at line 430 of file pipeline.h.
Referenced by tbb::interface6::internal::concrete_filter< T, U, Body >::operator()(), tbb::interface6::internal::concrete_filter< void, U, Body >::operator()(), tbb::interface6::internal::concrete_filter< T, void, Body >::operator()(), and tbb::interface6::internal::concrete_filter< void, void, Body >::operator()().