#include <pipeline.h>
Inherits tbb::internal::no_copy.
Inheritance diagram for tbb::filter:
Public Types | |
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 } |
Public Member Functions | |
bool | is_serial () const |
True if filter is serial. | |
bool | is_ordered () const |
virtual void * | operator() (void *item)=0 |
Operate on an item from the input stream, and return item for output stream. | |
virtual __TBB_EXPORTED_METHOD | ~filter () |
Destroy filter. | |
virtual void | finalize (void *) |
Destroys item if pipeline is cancelled. | |
Protected Member Functions | |
filter (bool is_serial_) | |
filter (mode filter_mode) | |
Friends | |
class | internal::stage_task |
class | pipeline |
|
|
|
Destroy filter. If the filter was added to a pipeline, the pipeline must be destroyed first. |
|
Destroys item if pipeline is cancelled. Required to prevent memory leaks Note it can be called concurrently even for serial filters. |
|
Operate on an item from the input stream, and return item for output stream. Returns NULL if filter is a sink. |