Skip to Main Content
Intel Threading Building Blocks
book

Intel Threading Building Blocks

by James Reinders
July 2007
Intermediate to advanced content levelIntermediate to advanced
332 pages
10h 4m
English
O'Reilly Media, Inc.
Content preview from Intel Threading Building Blocks

Name

filter Class — Abstract base class that represents a filter in a pipeline.

Synopsis

#include "tbb/pipeline.h"

class filter;

Description

A filter represents a filter in a pipeline. A filter is parallel or serial. A parallel filter can process multiple items in parallel and possibly out of order. A serial filter processes items one at a time in the original stream order. Parallel filters are preferred when viable because they permit parallel speedup. Whether the filter is serial or parallel is specified by an argument to the constructor.

The filter class should be used only in conjunction with pipeline.

Members

	namespace tbb {
	    class filter {
	    protected:
	        filter( bool is_serial );
	    public:
	        bool is_serial() const;
	        virtual void* operator()( void* item ) = 0;
	        virtual ~filter();
	    };
	}
filter(bool is_serial)

Effects: constructs a serial filter if is_serial is true, or a parallel filter if is_serial is false.

~filter()

Effects: destroys the filter. The filter must not be in a pipeline; otherwise, memory might be corrupted. The debug version of the library raises an assertion failure if the filter is in a pipeline. Always clear or destroy the containing pipeline first. A way to remember this is that a pipeline acts like a container of filters, and a C++ container usually does not allow one to destroy an item while it is in the container.

boolis_serial()const

Returns: true if filter is serial; false if filter is parallel.

virtual void*operator()(void *item)

Effects: the derived filter should override ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Intel® Xeon Phi™ Coprocessor Architecture and Tools: The Guide for Application Developers

Intel® Xeon Phi™ Coprocessor Architecture and Tools: The Guide for Application Developers

Rezaur Rahman

Publisher Resources

ISBN: 9780596514808Errata Page