Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

tbb::internal Namespace Reference

INTERNAL More...


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_word< 1 >
struct  tbb::internal::atomic_word< 2 >
struct  tbb::internal::atomic_word< 4 >
struct  tbb::internal::atomic_base< uint64_t >
struct  tbb::internal::atomic_base< int64_t >
struct  tbb::internal::atomic_impl
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::lambda_reduce_body< Range, Value, RealBody, Reduction >
 Auxiliary class for parallel_reduce; for internal use only. 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
struct  tbb::internal::context_list_node_t
class  tbb::internal::allocate_root_with_context_proxy
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::__TBB_machine_type_with_strictest_alignment
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 >
struct  tbb::internal::work_around_alignment_bug< Size, T >
 Work around for bug in GNU 3.2 and MSVC compilers. More...
class  tbb::internal::no_assign
 Base class for types that should not be assigned. More...
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 size_t hashcode_t
 Type of a hash code.
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 __int8 int8_t
typedef __int16 int16_t
typedef __int32 int32_t
typedef __int64 int64_t
typedef unsigned __int8 uint8_t
typedef unsigned __int16 uint16_t
typedef unsigned __int32 uint32_t
typedef unsigned __int64 uint64_t
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

 __TBB_DECL_FENCED_ATOMIC_PRIMITIVES (1, __TBB_full_fence) __TBB_DECL_FENCED_ATOMIC_PRIMITIVES(2
__TBB_full_fence __TBB_DECL_FENCED_ATOMIC_PRIMITIVES (4, __TBB_full_fence) __TBB_DECL_FENCED_ATOMIC_PRIMITIVES(8
__TBB_full_fence __TBB_full_fence __TBB_DECL_FENCED_ATOMIC_PRIMITIVES (1, acquire) __TBB_DECL_FENCED_ATOMIC_PRIMITIVES(2
__TBB_full_fence __TBB_full_fence
acquire 
__TBB_DECL_FENCED_ATOMIC_PRIMITIVES (4, acquire) __TBB_DECL_FENCED_ATOMIC_PRIMITIVES(8
__TBB_full_fence __TBB_full_fence
acquire acquire 
__TBB_DECL_FENCED_ATOMIC_PRIMITIVES (1, release) __TBB_DECL_FENCED_ATOMIC_PRIMITIVES(2
__TBB_full_fence __TBB_full_fence
acquire acquire release 
__TBB_DECL_FENCED_ATOMIC_PRIMITIVES (4, release) __TBB_DECL_FENCED_ATOMIC_PRIMITIVES(8
__TBB_full_fence __TBB_full_fence
acquire acquire release release 
__TBB_DECL_ATOMIC_PRIMITIVES (1) __TBB_DECL_ATOMIC_PRIMITIVES(2) __TBB_DECL_ATOMIC_PRIMITIVES(4) __TBB_DECL_ATOMIC_PRIMITIVES(8) template< typename I
 Base class that provides basic functionality for atomic<T>.
size_t __TBB_EXPORTED_FUNC NFS_GetLineSize ()
 Cache/sector line size.
void *__TBB_EXPORTED_FUNC NFS_Allocate (size_t n_element, size_t element_size, void *hint)
 Allocate memory on cache/sector line boundary.
void __TBB_EXPORTED_FUNC 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 T>
hashcode_t hasher (const T &t)
 Hasher functions.
template<typename P>
hashcode_t hasher (P *ptr)
template<typename E, typename S, typename A>
hashcode_t hasher (const std::basic_string< E, S, A > &s)
template<typename F, typename S>
hashcode_t hasher (const std::pair< F, S > &p)
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)
void *__TBB_EXPORTED_FUNC itt_load_pointer_v3 (const void *src)
 Routine that loads pointer from location pointed to by src without any fence, without causing ITT to report a race.
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#if __TBB_EXCEPTIONS, task_group_context &context#endif)
 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 #if __TBB_EXCEPTIONS, task_group_context &context#endif)
 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 #if __TBB_EXCEPTIONS, task_group_context &context#endif)
 For internal use only.
void __TBB_EXPORTED_FUNC itt_store_pointer_with_release_v3 (void *dst, void *src)
 ITT instrumented routine that stores src into location pointed to by dst.
void *__TBB_EXPORTED_FUNC 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 __TBB_EXPORTED_FUNC get_initial_auto_partitioner_divisor ()
void __TBB_EXPORTED_FUNC deallocate_via_handler_v3 (void *p)
 Deallocates memory using FreeHandler.
void *__TBB_EXPORTED_FUNC allocate_via_handler_v3 (size_t n)
 Allocates memory using MallocHandler.
bool __TBB_EXPORTED_FUNC is_malloc_used_v3 ()
 Returns true if standard malloc/free are used to work with memory.
template<size_t S, typename T>
__TBB_MaskedCompareAndSwap (volatile T *ptr, T value, T comparand)
template<size_t S, typename 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>
__TBB_FetchAndAddGeneric (volatile void *ptr, T addend)
template<size_t S, typename T>
__TBB_FetchAndStoreGeneric (volatile void *ptr, T value)
 __declspec (align(16)) struct __TBB_machine_type_with_strictest_alignment
void __TBB_EXPORTED_FUNC itt_set_sync_name_v3 (void *obj, const wchar_t *name)
void __TBB_EXPORTED_FUNC itt_set_sync_name_v3 (void *obj, const char *name)
void __TBB_EXPORTED_FUNC runtime_warning (const char *format,...)
 Report a runtime warning.
template<typename T>
void poison_pointer (T *&p)
 Set p to invalid pointer value.
template<typename T>
void poison_pointer (T *)
void *__TBB_EXPORTED_FUNC allocate_closure_v3 (size_t size)
 Allocate a closure.
void __TBB_EXPORTED_FUNC free_closure_v3 (void *)
 Free a closure allocated by allocate_closure_v3.
void __TBB_EXPORTED_FUNC move_v3 (tbb_thread_v3 &t1, tbb_thread_v3 &t2)
tbb_thread_v3::id __TBB_EXPORTED_FUNC thread_get_id_v3 ()
void __TBB_EXPORTED_FUNC thread_yield_v3 ()
void __TBB_EXPORTED_FUNC 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

__TBB_full_fence __TBB_full_fence
acquire acquire release release 
D
const size_t NFS_MaxLineSize = 128
 Compile-time constant that is upper bound on cache line/sector size.
const hashcode_t hash_multiplier = sizeof(hashcode_t)==4? 2654435769U : 11400714819323198485ULL
 Hash multiplier.
tbb::internal::__TBB_machine_type_with_strictest_alignment aligned


Detailed Description

INTERNAL

INTERNAL


Typedef Documentation

typedef std::ptrdiff_t tbb::internal::intptr
 

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.

typedef char tbb::internal::reduction_context
 

0 if root, 1 if a left child, 2 if a right child.

Represented as a char, not enum, for compactness.

typedef intptr tbb::internal::reference_count
 

A reference count.

Should always be non-negative. A signed type is used so that underflow can be detected.

typedef size_t tbb::internal::uintptr
 

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.


Function Documentation

__TBB_full_fence __TBB_full_fence acquire acquire release release __TBB_DECL_ATOMIC_PRIMITIVES  ) 
 

Base class that provides basic functionality for atomic<T>.

I is the underlying type. D is the difference type. StepType should be char if I is an integral type, and T if I is a T*.

void* __TBB_EXPORTED_FUNC allocate_via_handler_v3 size_t  n  ) 
 

Allocates memory using MallocHandler.

The function uses scalable_malloc if scalable allocator is available and malloc if not

void __TBB_EXPORTED_FUNC deallocate_via_handler_v3 void *  p  ) 
 

Deallocates memory using FreeHandler.

The function uses scalable_free if scalable allocator is available and free if not

void __TBB_EXPORTED_FUNC NFS_Free void *   ) 
 

Free memory allocated by NFS_Allocate.

Freeing a NULL pointer is allowed, but has no effect.


Variable Documentation

const size_t tbb::internal::NFS_MaxLineSize = 128
 

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.


Copyright © 2005-2008 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.