| Classes | |
| class | aligned_space | 
| Block of space aligned sufficiently to construct an array T with N elements.  More... | |
| struct | atomic | 
| Primary template for atomic.  More... | |
| struct | atomic< void * > | 
| struct | atomic< bool > | 
| class | blocked_range | 
| A range over which to iterate.  More... | |
| class | blocked_range2d | 
| A 2-dimensional range that models the Range concept.  More... | |
| class | blocked_range3d | 
| A 3-dimensional range that models the Range concept.  More... | |
| class | cache_aligned_allocator | 
| Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  More... | |
| class | cache_aligned_allocator< void > | 
| Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  More... | |
| struct | tbb_hash_compare | 
| hash_compare - default argument  More... | |
| class | concurrent_hash_map | 
| Unordered map from Key to T.  More... | |
| class | concurrent_queue | 
| A high-performance thread-safe queue.  More... | |
| class | concurrent_vector | 
| Concurrent vector container.  More... | |
| class | mutex | 
| Wrapper around the platform's native reader-writer lock.  More... | |
| class | null_mutex | 
| class | null_rw_mutex | 
| class | parallel_do_feeder | 
| Class the user supplied algorithm body uses to add new tasks.  More... | |
| struct | pre_scan_tag | 
| Used to indicate that the initial scan is being performed.  More... | |
| struct | final_scan_tag | 
| Used to indicate that the final scan is being performed.  More... | |
| class | parallel_while | 
| Parallel iteration over a stream, with optional addition of more work.  More... | |
| class | simple_partitioner | 
| A simple partitioner.  More... | |
| class | auto_partitioner | 
| An auto partitioner.  More... | |
| class | affinity_partitioner | 
| An affinity partitioner.  More... | |
| class | filter | 
| A stage in a pipeline.  More... | |
| class | pipeline | 
| A processing pipeling that applies filters to items.  More... | |
| class | queuing_mutex | 
| Queuing lock with local-only spinning.  More... | |
| class | queuing_rw_mutex | 
| Reader-writer lock with local-only spinning.  More... | |
| class | recursive_mutex | 
| Mutex that allows recursive mutex acquisition.  More... | |
| class | scalable_allocator | 
| Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  More... | |
| class | scalable_allocator< void > | 
| Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  More... | |
| class | spin_mutex | 
| A lock that occupies a single byte.  More... | |
| class | spin_rw_mutex_v3 | 
| Fast, unfair, spinning reader-writer lock with backoff and writer-preference.  More... | |
| class | task_group_context | 
| Used to form groups of tasks.  More... | |
| class | task | 
| Base class for user-defined tasks.  More... | |
| class | empty_task | 
| task that does nothing. Useful for synchronization.  More... | |
| class | task_list | 
| A list of children.  More... | |
| class | task_scheduler_init | 
| Class representing reference to tbb scheduler.  More... | |
| class | tbb_allocator | 
| Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  More... | |
| class | tbb_allocator< void > | 
| Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  More... | |
| class | bad_last_alloc | 
| Exception for concurrent containers.  More... | |
| class | tbb_exception | 
| Interface to be implemented by all exceptions TBB recognizes and propagates across the threads.  More... | |
| class | captured_exception | 
| This class is used by TBB to propagate information about unhandled exceptions into the root thread.  More... | |
| class | movable_exception | 
| Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread.  More... | |
| class | split | 
| Dummy type that distinguishes splitting constructor from copy constructor.  More... | |
| class | tick_count | 
| Absolute timestamp.  More... | |
| parallel_do | |
| See also requirements on parallel_do Body. | |
| template<typename Iterator, typename Body> | |
| void | parallel_do (Iterator first, Iterator last, const Body &body) | 
| Parallel iteration over a range, with optional addition of more work. | |
| template<typename Iterator, typename Body> | |
| void | parallel_do (Iterator first, Iterator last, const Body &body, task_group_context &context) | 
| Parallel iteration over a range, with optional addition of more work and user-supplied context. | |
| parallel_for | |
| See also requirements on Range and parallel_for Body. | |
| template<typename Range, typename Body> | |
| void | parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner=simple_partitioner()) | 
| Parallel iteration over range with simple partitioner, or default partitioner if no partitioner is specified. | |
| template<typename Range, typename Body> | |
| void | parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner) | 
| Parallel iteration over range with auto_partitioner. | |
| template<typename Range, typename Body> | |
| void | parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner) | 
| Parallel iteration over range with affinity_partitioner. | |
| template<typename Range, typename Body> | |
| void | parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context) | 
| Parallel iteration over range with simple partitioner and user-supplied context. | |
| template<typename Range, typename Body> | |
| void | parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context) | 
| Parallel iteration over range with auto_partitioner and user-supplied context. | |
| template<typename Range, typename Body> | |
| void | parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context) | 
| Parallel iteration over range with affinity_partitioner and user-supplied context. | |
| parallel_reduce | |
| See also requirements on Range and parallel_reduce Body. | |
| template<typename Range, typename Body> | |
| void | parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner=simple_partitioner()) | 
| Parallel iteration with reduction and simple_partitioner, or no partitioner specified. | |
| template<typename Range, typename Body> | |
| void | parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner) | 
| Parallel iteration with reduction and auto_partitioner. | |
| template<typename Range, typename Body> | |
| void | parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner) | 
| Parallel iteration with reduction and affinity_partitioner. | |
| template<typename Range, typename Body> | |
| void | parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context) | 
| Parallel iteration with reduction, simple partitioner and user-supplied context. | |
| template<typename Range, typename Body> | |
| void | parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context) | 
| Parallel iteration with reduction, auto_partitioner and user-supplied context. | |
| template<typename Range, typename Body> | |
| void | parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context) | 
| Parallel iteration with reduction, affinity_partitioner and user-supplied context. | |
| template<typename Range, typename Value, typename RealBody, typename Reduction> | |
| Value | parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner=simple_partitioner()) | 
| Parallel iteration with reduction and simple_partitioner, or no partitioner specified. | |
| template<typename Range, typename Value, typename RealBody, typename Reduction> | |
| Value | parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner) | 
| Parallel iteration with reduction and auto_partitioner. | |
| template<typename Range, typename Value, typename RealBody, typename Reduction> | |
| Value | parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner) | 
| Parallel iteration with reduction and affinity_partitioner. | |
| template<typename Range, typename Value, typename RealBody, typename Reduction> | |
| Value | parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context) | 
| Parallel iteration with reduction, simple partitioner and user-supplied context. | |
| template<typename Range, typename Value, typename RealBody, typename Reduction> | |
| Value | parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context) | 
| Parallel iteration with reduction, auto_partitioner and user-supplied context. | |
| template<typename Range, typename Value, typename RealBody, typename Reduction> | |
| Value | parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context) | 
| Parallel iteration with reduction, affinity_partitioner and user-supplied context. | |
| parallel_scan | |
| See also requirements on Range and parallel_scan Body. | |
| template<typename Range, typename Body> | |
| void | parallel_scan (const Range &range, Body &body, const simple_partitioner &partitioner=simple_partitioner()) | 
| Parallel prefix with simple_partitioner. | |
| template<typename Range, typename Body> | |
| void | parallel_scan (const Range &range, Body &body, const auto_partitioner &partitioner) | 
| Parallel prefix with auto_partitioner. | |
| parallel_sort | |
| See also requirements on iterators for parallel_sort. | |
| template<typename RandomAccessIterator, typename Compare> | |
| void | parallel_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp) | 
| Sorts the data in [begin,end) using the given comparator. | |
| template<typename RandomAccessIterator> | |
| void | parallel_sort (RandomAccessIterator begin, RandomAccessIterator end) | 
| Sorts the data in [begin,end) with a default comparator std::less<RandomAccessIterator>. | |
| template<typename T> | |
| void | parallel_sort (T *begin, T *end) | 
| Sorts the data in the range [begin,end) with a default comparatorstd::less<T>. | |
| Typedefs | |
| typedef spin_rw_mutex_v3 | spin_rw_mutex | 
| typedef std::size_t | stack_size_type | 
| typedef internal::task_scheduler_observer_v3 | task_scheduler_observer | 
| typedef void(*) | assertion_handler_type (const char *filename, int line, const char *expression, const char *comment) | 
| Type for an assertion handler. | |
| Enumerations | |
| enum | memory_semantics { __TBB_full_fence, acquire, release } | 
| Specifies memory fencing.  More... | |
| Functions | |
| __TBB_DECL_ATOMIC (__TBB_LONG_LONG) __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG) __TBB_DECL_ATOMIC(long) __TBB_DECL_ATOMIC(unsigned long) __TBB_DECL_ATOMIC_ALT(unsigned | |
| size_t | __TBB_DECL_ATOMIC_ALT (int, ptrdiff_t) __TBB_DECL_ATOMIC(unsigned) __TBB_DECL_ATOMIC(int) __TBB_DECL_ATOMIC(unsigned short) __TBB_DECL_ATOMIC(short) __TBB_DECL_ATOMIC(char) __TBB_DECL_ATOMIC(signed char) __TBB_DECL_ATOMIC(unsigned char) __TBB_DECL_ATOMIC(wchar_t) template< typename T > struct atomic< T * > | 
| template<typename T, typename U> | |
| bool | operator== (const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &) | 
| template<typename T, typename U> | |
| bool | operator!= (const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &) | 
| template<typename Key, typename T, typename HashCompare, typename A1, typename A2> | |
| bool | operator== (const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b) | 
| template<typename Key, typename T, typename HashCompare, typename A1, typename A2> | |
| bool | operator!= (const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b) | 
| template<typename Key, typename T, typename HashCompare, typename A> | |
| void | swap (concurrent_hash_map< Key, T, HashCompare, A > &a, concurrent_hash_map< Key, T, HashCompare, A > &b) | 
| template<typename T, class A1, class A2> | |
| bool | operator== (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b) | 
| template<typename T, class A1, class A2> | |
| bool | operator!= (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b) | 
| template<typename T, class A1, class A2> | |
| bool | operator< (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b) | 
| template<typename T, class A1, class A2> | |
| bool | operator> (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b) | 
| template<typename T, class A1, class A2> | |
| bool | operator<= (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b) | 
| template<typename T, class A1, class A2> | |
| bool | operator>= (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b) | 
| template<typename T, class A> | |
| void | swap (concurrent_vector< T, A > &a, concurrent_vector< T, A > &b) | 
| template<typename T, typename U> | |
| bool | operator== (const scalable_allocator< T > &, const scalable_allocator< U > &) | 
| template<typename T, typename U> | |
| bool | operator!= (const scalable_allocator< T > &, const scalable_allocator< U > &) | 
| template<typename T, typename U> | |
| bool | operator== (const tbb_allocator< T > &, const tbb_allocator< U > &) | 
| template<typename T, typename U> | |
| bool | operator!= (const tbb_allocator< T > &, const tbb_allocator< U > &) | 
| assertion_handler_type __TBB_EXPORTED_FUNC | set_assertion_handler (assertion_handler_type new_handler) | 
| Set assertion handler and return previous value of it. | |
| void __TBB_EXPORTED_FUNC | assertion_failure (const char *filename, int line, const char *expression, const char *comment) | 
| Process an assertion failure. | |
| int __TBB_EXPORTED_FUNC | TBB_runtime_interface_version () | 
| The function returns the interface version of the TBB shared library being used. | |
| tick_count::interval_t | operator- (const tick_count &t1, const tick_count &t0) | 
| void __TBB_EXPORTED_FUNC tbb::assertion_failure | ( | const char * | filename, | |
| int | line, | |||
| const char * | expression, | |||
| const char * | comment | |||
| ) | 
Process an assertion failure.
Normally called from __TBB_ASSERT macro. If assertion handler is null, print message for assertion failure and abort. Otherwise call the assertion handler.
| int __TBB_EXPORTED_FUNC tbb::TBB_runtime_interface_version | ( | ) | 
The function returns the interface version of the TBB shared library being used.
The version it returns is determined at runtime, not at compile/link time. So it can be different than the value of TBB_INTERFACE_VERSION obtained at compile time.