Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class 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_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>
__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)
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)


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

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