A stage in a pipeline served by a user thread. More...
#include <pipeline.h>
Public Types | |
enum | result_type { success, item_not_available, end_of_stream } |
Public Member Functions | |
result_type __TBB_EXPORTED_METHOD | try_process_item () |
If a data item is available, invoke operator() on that item. More... | |
result_type __TBB_EXPORTED_METHOD | process_item () |
Wait until a data item becomes available, and invoke operator() on that item. More... | |
Protected Member Functions | |
thread_bound_filter (mode filter_mode) | |
Additional Inherited Members | |
Static Protected Attributes inherited from tbb::filter | |
static const unsigned char | filter_is_serial = 0x1 |
The lowest bit 0 is for parallel vs. serial. | |
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. | |
static const unsigned char | filter_may_emit_null = 0x1<<6 |
6th bit marks input filters emitting small objects | |
static const unsigned char | exact_exception_propagation |
7th bit defines exception propagation mode expected by the application. More... | |
A stage in a pipeline served by a user thread.
result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::process_item | ( | ) |
Wait until a data item becomes available, and invoke operator() on that item.
This interface is blocking. Returns 'success' if an item was processed. Returns 'end_of_stream' if there are no more items to process. Never returns 'item_not_available', as it blocks until another return condition applies.
result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::try_process_item | ( | ) |
If a data item is available, invoke operator() on that item.
This interface is non-blocking. Returns 'success' if an item was processed. Returns 'item_not_available' if no item can be processed now but more may arrive in the future, or if token limit is reached. Returns 'end_of_stream' if there are no more items to process.