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. |