PPL Compatibility

Intel® Threading Building Blocks (Intel® TBB) 2.2 introduces features based on joint discussions between the Microsoft Corporation and Intel Corporation. The features establish some degree of compatibility between Intel® TBB and Microsoft Parallel Patterns Library (PPL) development software.

Each feature appears in namespace tbb. Each feature can be injected into namespace Concurrency by including the file "tbb/compat/ppl.h". Following is the list of features:

The following table lists the features and provides links to additional information.
Feature Link
parallel_for(first,last,f) parallel_for Template Function
parallel_for(first,last,step,f) parallel_for Template Function
parallel_for_each parallel_for_each Template Function
parallel_invoke parallel_invoke Template Function
critical_section critical_section
reader_writer_lock reader_writer_lock Class
task_handle task_handle Template Class
task_group_status task_group_status Enum
task_group task_group Class
make_task make_task Template Function
structured_task_group structured_task_group Class
is_current_task_group_cancelling is_current_task_group_canceling Function
improper_lock Specific Exceptions
invalid_multiple_scheduling Specific Exceptions
missing_wait Specific Exceptions

For parallel_for, only the variants listed in the table are injected into namespace Concurrency.

Caution

Because of different environments and evolving specifications, the behavior of the features can differ between the Intel® TBB and PPL implementations.