Classes | |
| struct | tbb::internal::atomic_traits< Size, M > |
| struct | tbb::internal::atomic_word< Size > |
| struct | tbb::internal::atomic_base< I > |
| struct | tbb::internal::atomic_word< 8 > |
| struct | tbb::internal::atomic_base< uint64_t > |
| struct | tbb::internal::atomic_base< int64_t > |
| struct | tbb::internal::atomic_impl< I, D, Step > |
| class | tbb::internal::hash_map_base |
| base class of concurrent_hash_map More... | |
| struct | tbb::internal::hash_map_segment_base |
| class | tbb::internal::hash_map_iterator< Container, Value > |
| Meets requirements of a forward iterator for STL */. More... | |
| class | tbb::internal::hash_map_range< Iterator > |
| Range class used with concurrent_hash_map. More... | |
| class | tbb::internal::concurrent_queue_base_v3 |
| For internal use only. More... | |
| struct | tbb::internal::concurrent_queue_base_v3::page |
| Prefix on a page. More... | |
| class | tbb::internal::concurrent_queue_iterator_base_v3 |
| Type-independent portion of concurrent_queue_iterator. More... | |
| class | tbb::internal::concurrent_queue_iterator< Container, Value > |
| Meets requirements of a forward iterator for STL. More... | |
| class | tbb::internal::concurrent_vector_base_v3 |
| Base class of concurrent vector implementation. More... | |
| struct | tbb::internal::concurrent_vector_base_v3::segment_t |
| struct | tbb::internal::concurrent_vector_base_v3::internal_segments_table |
| Internal structure for compact(). More... | |
| class | tbb::internal::vector_iterator< Container, Value > |
| Meets requirements of a forward iterator for STL and a Value for a blocked_range.*/. More... | |
| class | tbb::internal::allocator_base< T, A > |
| struct | tbb::internal::strip< T > |
| Strips its template type argument from 'cv' and '&' qualifiers. More... | |
| struct | tbb::internal::strip< T & > |
| struct | tbb::internal::strip< const T & > |
| struct | tbb::internal::strip< volatile T & > |
| struct | tbb::internal::strip< const volatile T & > |
| struct | tbb::internal::strip< const T > |
| struct | tbb::internal::strip< volatile T > |
| struct | tbb::internal::strip< const volatile T > |
| class | tbb::internal::parallel_do_operator_selector< Body, Item > |
| For internal use only. More... | |
| class | tbb::internal::do_iteration_task< Body, Item > |
| For internal use only. More... | |
| class | tbb::internal::do_iteration_task_iter< Iterator, Body, Item > |
| class | tbb::internal::parallel_do_feeder_impl< Body, Item > |
| For internal use only. More... | |
| class | tbb::internal::do_group_task_forward< Iterator, Body, Item > |
| For internal use only. More... | |
| class | tbb::internal::do_group_task_input< Body, Item > |
| class | tbb::internal::do_task_iter< Iterator, Body, Item > |
| For internal use only. More... | |
| class | tbb::internal::start_for< Range, Body, Partitioner > |
| Task type used in parallel_for. More... | |
| class | tbb::internal::finish_reduce< Body > |
| Task type use to combine the partial results of parallel_reduce. More... | |
| class | tbb::internal::start_reduce< Range, Body, Partitioner > |
| Task type used to split the work of parallel_reduce. More... | |
| class | tbb::internal::finish_reduce_with_affinity< Body > |
| Task type use to combine the partial results of parallel_reduce with affinity_partitioner. More... | |
| class | tbb::internal::start_reduce_with_affinity< Range, Body > |
| Task type used to split the work of parallel_reduce with affinity_partitioner. More... | |
| class | tbb::internal::final_sum< Range, Body > |
| Performs final scan for a leaf. More... | |
| class | tbb::internal::sum_node< Range, Body > |
| Split work to be done in the scan. More... | |
| class | tbb::internal::finish_scan< Range, Body > |
| Combine partial results. More... | |
| class | tbb::internal::start_scan< Range, Body, Partitioner > |
| Initial task to split the work. More... | |
| struct | tbb::internal::quick_sort_range< RandomAccessIterator, Compare > |
| Range used in quicksort to split elements into subranges based on a value. More... | |
| struct | tbb::internal::quick_sort_body< RandomAccessIterator, Compare > |
| Body class used to sort elements in a range that is smaller than the grainsize. More... | |
| class | tbb::internal::while_iteration_task< Body > |
| For internal use only. More... | |
| class | tbb::internal::while_group_task< Body > |
| For internal use only. More... | |
| class | tbb::internal::while_task< Stream, Body > |
| For internal use only. More... | |
| class | tbb::internal::affinity_partitioner_base_v3 |
| Defines entry points into tbb run-time library;. More... | |
| class | tbb::internal::partition_type_base |
| Provides default methods for partition objects without affinity. More... | |
| class | tbb::internal::affinity_partition_type |
| class | tbb::internal::scheduler |
| class | tbb::internal::allocate_root_proxy |
| class | tbb::internal::allocate_continuation_proxy |
| class | tbb::internal::allocate_child_proxy |
| class | tbb::internal::allocate_additional_child_of_proxy |
| class | tbb::internal::task_prefix |
| Memory prefix to a task object. More... | |
| class | tbb::internal::task_scheduler_observer_v3 |
| class | tbb::internal::AtomicBackoff |
| Class that implements exponential backoff. More... | |
| struct | tbb::internal::type_with_alignment< N > |
| struct | tbb::internal::type_with_alignment< 1 > |
| struct | tbb::internal::type_with_alignment< 2 > |
| struct | tbb::internal::type_with_alignment< 4 > |
| struct | tbb::internal::type_with_alignment< 8 > |
| class | tbb::internal::no_copy |
| Base class for types that should not be copied or assigned. More... | |
| struct | tbb::internal::version_tag_v3 |
| struct | tbb::internal::thread_closure_base |
| struct | tbb::internal::thread_closure_0< F > |
| struct | tbb::internal::thread_closure_1< F, X > |
| Structure used to pass user function with 1 argument to thread. More... | |
| struct | tbb::internal::thread_closure_2< F, X, Y > |
| class | tbb::internal::tbb_thread_v3 |
| Versioned thread class. More... | |
| class | tbb::internal::tbb_thread_v3::id |
Typedefs | |
| typedef concurrent_queue_base_v3 | concurrent_queue_base |
| typedef concurrent_queue_iterator_base_v3 | concurrent_queue_iterator_base |
| typedef concurrent_vector_base_v3 | concurrent_vector_base |
| typedef char | reduction_context |
| 0 if root, 1 if a left child, 2 if a right child. | |
| typedef unsigned long | Token |
| typedef long | tokendiff_t |
| typedef intptr | reference_count |
| A reference count. | |
| typedef unsigned short | affinity_id |
| An id as used for specifying affinity. | |
| typedef size_t | uintptr |
| An unsigned integral type big enough to hold a pointer. | |
| typedef std::ptrdiff_t | intptr |
| A signed integral type big enough to hold a pointer. | |
| typedef version_tag_v3 | version_tag |
Functions | |
| size_t | NFS_GetLineSize () |
| Cache/sector line size. | |
| void * | NFS_Allocate (size_t n_element, size_t element_size, void *hint) |
| Allocate memory on cache/sector line boundary. | |
| void | NFS_Free (void *) |
| Free memory allocated by NFS_Allocate. | |
| template<typename Container, typename T, typename U> | |
| bool | operator== (const hash_map_iterator< Container, T > &i, const hash_map_iterator< Container, U > &j) |
| template<typename Container, typename T, typename U> | |
| bool | operator!= (const hash_map_iterator< Container, T > &i, const hash_map_iterator< Container, U > &j) |
| template<typename C, typename T, typename U> | |
| bool | operator== (const concurrent_queue_iterator< C, T > &i, const concurrent_queue_iterator< C, U > &j) |
| template<typename C, typename T, typename U> | |
| bool | operator!= (const concurrent_queue_iterator< C, T > &i, const concurrent_queue_iterator< C, U > &j) |
| template<typename Container, typename T> | |
| vector_iterator< Container, T > | operator+ (ptrdiff_t offset, const vector_iterator< Container, T > &v) |
| template<typename Container, typename T, typename U> | |
| bool | operator== (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
| template<typename Container, typename T, typename U> | |
| bool | operator!= (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
| template<typename Container, typename T, typename U> | |
| bool | operator< (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
| template<typename Container, typename T, typename U> | |
| bool | operator> (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
| template<typename Container, typename T, typename U> | |
| bool | operator>= (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
| template<typename Container, typename T, typename U> | |
| bool | operator<= (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
| template<typename Container, typename T, typename U> | |
| ptrdiff_t | operator- (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
| void | handle_perror (int error_code, const char *what) |
| template<typename Iterator, typename Body, typename Item> | |
| void | run_parallel_do (Iterator first, Iterator last, const Body &body) |
| For internal use only. | |
| template<typename Iterator, typename Body, typename Item> | |
| void | select_parallel_do (Iterator first, Iterator last, const Body &body, void(Body::*)(Item) const ) |
| For internal use only. | |
| template<typename Iterator, typename Body, typename Item, typename _Item> | |
| void | select_parallel_do (Iterator first, Iterator last, const Body &body, void(Body::*)(Item, parallel_do_feeder< _Item > &) const ) |
| For internal use only. | |
| void | itt_store_pointer_with_release_v3 (void *dst, void *src) |
| ITT instrumented routine that stores src into location pointed to by dst. | |
| void * | itt_load_pointer_with_acquire_v3 (const void *src) |
| ITT instrumented routine that loads pointer from location pointed to by src. | |
| template<typename T> | |
| void | parallel_reduce_store_body (T *&dst, T *src) |
| template<typename T> | |
| T * | parallel_reduce_load_body (T *&src) |
| template<typename RandomAccessIterator, typename Compare> | |
| void | parallel_quick_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp) |
| Wrapper method to initiate the sort by calling parallel_for. | |
| size_t | get_initial_auto_partitioner_divisor () |
| void | deallocate_via_handler_v3 (void *p) |
| Deallocates memory using FreeHandler. | |
| void * | allocate_via_handler_v3 (size_t n) |
| Allocates memory using MallocHandler. | |
| bool | is_malloc_used_v3 () |
| Returns true if standard malloc/free are used to work with memory. | |
| template<size_t S, typename T> | |
| intptr_t | __TBB_MaskedCompareAndSwap (volatile int32_t *ptr, T value, T comparand) |
| template<size_t S, typename T> | |
| T | __TBB_CompareAndSwapGeneric (volatile void *ptr, T value, T comparand) |
| template<> | |
| uint8_t | __TBB_CompareAndSwapGeneric< 1, uint8_t > (volatile void *ptr, uint8_t value, uint8_t comparand) |
| template<> | |
| uint16_t | __TBB_CompareAndSwapGeneric< 2, uint16_t > (volatile void *ptr, uint16_t value, uint16_t comparand) |
| template<> | |
| uint32_t | __TBB_CompareAndSwapGeneric< 4, uint32_t > (volatile void *ptr, uint32_t value, uint32_t comparand) |
| template<> | |
| uint64_t | __TBB_CompareAndSwapGeneric< 8, uint64_t > (volatile void *ptr, uint64_t value, uint64_t comparand) |
| template<size_t S, typename T> | |
| T | __TBB_FetchAndAddGeneric (volatile void *ptr, T addend) |
| template<size_t S, typename T> | |
| T | __TBB_FetchAndStoreGeneric (volatile void *ptr, T value) |
| void | runtime_warning (const char *format,...) |
| Report a runtime warning. | |
| template<typename T> | |
| void | poison_pointer (T *) |
| void * | allocate_closure_v3 (size_t size) |
| Allocate a closure. | |
| void | free_closure_v3 (void *) |
| Free a closure allocated by allocate_closure_v3. | |
| void | move_v3 (tbb_thread_v3 &t1, tbb_thread_v3 &t2) |
| tbb_thread_v3::id | thread_get_id_v3 () |
| void | thread_yield_v3 () |
| void | thread_sleep_v3 (const tick_count::interval_t &i) |
| bool | operator== (tbb_thread_v3::id x, tbb_thread_v3::id y) |
| bool | operator!= (tbb_thread_v3::id x, tbb_thread_v3::id y) |
| bool | operator< (tbb_thread_v3::id x, tbb_thread_v3::id y) |
| bool | operator<= (tbb_thread_v3::id x, tbb_thread_v3::id y) |
| bool | operator> (tbb_thread_v3::id x, tbb_thread_v3::id y) |
| bool | operator>= (tbb_thread_v3::id x, tbb_thread_v3::id y) |
Variables | |
| const size_t | NFS_MaxLineSize = 128 |
| Compile-time constant that is upper bound on cache line/sector size. | |
| const unsigned char | IS_SERIAL = 0x1 |
| const unsigned char | SERIAL_MODE_MASK = 0x1 |
| const unsigned char | VERSION_MASK = 0x7<<1 |
| const unsigned char | CURRENT_VERSION = __TBB_PIPELINE_VERSION(3) |
INTERNAL
|
|
A signed integral type big enough to hold a pointer. There's no guarantee by the C++ standard that a ptrdiff_t is really big enough, but it happens to be for all platforms of interest. |
|
|
0 if root, 1 if a left child, 2 if a right child. Represented as a char, not enum, for compactness. |
|
|
A reference count. Should always be non-negative. A signed type is used so that underflow can be detected. |
|
|
An unsigned integral type big enough to hold a pointer. There's no guarantee by the C++ standard that a size_t is really big enough, but it happens to be for all platforms of interest. |
|
|
Allocates memory using MallocHandler. The function uses scalable_malloc if scalable allocator is available and malloc if not |
|
|
Deallocates memory using FreeHandler. The function uses scalable_free if scalable allocator is available and free if not |
|
|
Free memory allocated by NFS_Allocate. Freeing a NULL pointer is allowed, but has no effect. |
|
|
Compile-time constant that is upper bound on cache line/sector size. It should be used only in situations where having a compile-time upper bound is more useful than a run-time exact answer. |