Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
The enumerable_thread_specific container. More...
#include <enumerable_thread_specific.h>
Classes | |
class | generic_range_type |
A generic range, used to create range objects from the iterators. More... | |
Public Types | |
typedef Allocator | allocator_type |
Basic types. More... | |
typedef T | value_type |
typedef T & | reference |
typedef const T & | const_reference |
typedef T * | pointer |
typedef const T * | const_pointer |
typedef internal_collection_type::size_type | size_type |
typedef internal_collection_type::difference_type | difference_type |
typedef internal::enumerable_thread_specific_iterator< internal_collection_type, value_type > | iterator |
typedef internal::enumerable_thread_specific_iterator< internal_collection_type, const value_type > | const_iterator |
typedef generic_range_type< iterator > | range_type |
typedef generic_range_type< const_iterator > | const_range_type |
Public Member Functions | |
enumerable_thread_specific () | |
Default constructor. Each local instance of T is default constructed. More... | |
template<typename Finit , typename = typename internal::enable_if<internal::is_callable_no_args<typename internal::strip<Finit>::type>::value>::type> | |
enumerable_thread_specific (Finit finit) | |
Constructor with initializer functor. Each local instance of T is constructed by T(finit()). More... | |
enumerable_thread_specific (const T &exemplar) | |
Constructor with exemplar. Each local instance of T is copy-constructed from the exemplar. More... | |
enumerable_thread_specific (T &&exemplar) | |
template<typename P1 , typename... P, typename = typename internal::enable_if<!internal::is_callable_no_args<typename internal::strip<P1>::type>::value && !internal::is_compatible_ets<T, typename internal::strip<P1>::type>::value && !internal::is_same_type<T, typename internal::strip<P1>::type>::value >::type> | |
enumerable_thread_specific (P1 &&arg1, P &&... args) | |
Variadic constructor with initializer arguments. Each local instance of T is constructed by T(args...) More... | |
~enumerable_thread_specific () | |
Destructor. More... | |
reference | local () |
returns reference to local, discarding exists More... | |
reference | local (bool &exists) |
Returns reference to calling thread's local copy, creating one if necessary. More... | |
size_type | size () const |
Get the number of local copies. More... | |
bool | empty () const |
true if there have been no local copies created More... | |
iterator | begin () |
begin iterator More... | |
iterator | end () |
end iterator More... | |
const_iterator | begin () const |
begin const iterator More... | |
const_iterator | end () const |
end const iterator More... | |
range_type | range (size_t grainsize=1) |
Get range for parallel algorithms. More... | |
const_range_type | range (size_t grainsize=1) const |
Get const range for parallel algorithms. More... | |
void | clear () |
Destroys local copies. More... | |
enumerable_thread_specific (const enumerable_thread_specific &other) | |
template<typename Alloc , ets_key_usage_type Cachetype> | |
enumerable_thread_specific (const enumerable_thread_specific< T, Alloc, Cachetype > &other) | |
enumerable_thread_specific (enumerable_thread_specific &&other) | |
template<typename Alloc , ets_key_usage_type Cachetype> | |
enumerable_thread_specific (enumerable_thread_specific< T, Alloc, Cachetype > &&other) | |
enumerable_thread_specific & | operator= (const enumerable_thread_specific &other) |
template<typename Alloc , ets_key_usage_type Cachetype> | |
enumerable_thread_specific & | operator= (const enumerable_thread_specific< T, Alloc, Cachetype > &other) |
enumerable_thread_specific & | operator= (enumerable_thread_specific &&other) |
template<typename Alloc , ets_key_usage_type Cachetype> | |
enumerable_thread_specific & | operator= (enumerable_thread_specific< T, Alloc, Cachetype > &&other) |
template<typename combine_func_t > | |
T | combine (combine_func_t f_combine) |
template<typename combine_func_t > | |
void | combine_each (combine_func_t f_combine) |
Private Types | |
typedef internal::padded< internal::ets_element< T > > | padded_element |
typedef Allocator::template rebind< padded_element >::other | padded_allocator_type |
typedef tbb::concurrent_vector< padded_element, padded_allocator_type > | internal_collection_type |
typedef Allocator::template rebind< uintptr_t >::other | array_allocator_type |
Private Member Functions | |
void * | create_local () __TBB_override |
void * | create_array (size_t _size) __TBB_override |
void | free_array (void *_ptr, size_t _size) __TBB_override |
template<typename A2 , ets_key_usage_type C2> | |
void | internal_copy (const enumerable_thread_specific< T, A2, C2 > &other) |
void | internal_swap (enumerable_thread_specific &other) |
template<typename A2 , ets_key_usage_type C2> | |
void | internal_move (enumerable_thread_specific< T, A2, C2 > &&other) |
Static Private Member Functions | |
static void * | create_local_by_copy (internal::ets_base< ETS_key_type > &base, void *p) |
static void * | create_local_by_move (internal::ets_base< ETS_key_type > &base, void *p) |
Private Attributes | |
internal::callback_base< T > * | my_construct_callback |
internal_collection_type | my_locals |
Friends | |
template<typename U , typename A , ets_key_usage_type C> | |
class | enumerable_thread_specific |
The enumerable_thread_specific container.
enumerable_thread_specific has the following properties:
Definition at line 63 of file enumerable_thread_specific.h.
typedef Allocator tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::allocator_type |
Basic types.
Definition at line 867 of file enumerable_thread_specific.h.
|
private |
Definition at line 851 of file enumerable_thread_specific.h.
typedef internal::enumerable_thread_specific_iterator< internal_collection_type, const value_type > tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::const_iterator |
Definition at line 878 of file enumerable_thread_specific.h.
typedef const T* tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::const_pointer |
Definition at line 872 of file enumerable_thread_specific.h.
typedef generic_range_type< const_iterator > tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::const_range_type |
Definition at line 882 of file enumerable_thread_specific.h.
typedef const T& tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::const_reference |
Definition at line 870 of file enumerable_thread_specific.h.
typedef internal_collection_type::difference_type tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::difference_type |
Definition at line 874 of file enumerable_thread_specific.h.
|
private |
Definition at line 821 of file enumerable_thread_specific.h.
typedef internal::enumerable_thread_specific_iterator< internal_collection_type, value_type > tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::iterator |
Definition at line 877 of file enumerable_thread_specific.h.
|
private |
Definition at line 820 of file enumerable_thread_specific.h.
|
private |
Definition at line 803 of file enumerable_thread_specific.h.
typedef T* tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::pointer |
Definition at line 871 of file enumerable_thread_specific.h.
typedef generic_range_type< iterator > tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::range_type |
Definition at line 881 of file enumerable_thread_specific.h.
typedef T& tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::reference |
Definition at line 869 of file enumerable_thread_specific.h.
typedef internal_collection_type::size_type tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::size_type |
Definition at line 873 of file enumerable_thread_specific.h.
typedef T tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >::value_type |
Definition at line 868 of file enumerable_thread_specific.h.
|
inline |
Default constructor. Each local instance of T is default constructed.
Definition at line 885 of file enumerable_thread_specific.h.
|
inlineexplicit |
Constructor with initializer functor. Each local instance of T is constructed by T(finit()).
Definition at line 895 of file enumerable_thread_specific.h.
|
inlineexplicit |
Constructor with exemplar. Each local instance of T is copy-constructed from the exemplar.
Definition at line 900 of file enumerable_thread_specific.h.
|
inlineexplicit |
Definition at line 905 of file enumerable_thread_specific.h.
|
inline |
Variadic constructor with initializer arguments. Each local instance of T is constructed by T(args...)
Definition at line 915 of file enumerable_thread_specific.h.
|
inline |
Destructor.
Definition at line 921 of file enumerable_thread_specific.h.
|
inline |
Definition at line 1011 of file enumerable_thread_specific.h.
|
inline |
Definition at line 1018 of file enumerable_thread_specific.h.
|
inline |
Definition at line 1024 of file enumerable_thread_specific.h.
|
inline |
Definition at line 1030 of file enumerable_thread_specific.h.
|
inline |
begin iterator
Definition at line 946 of file enumerable_thread_specific.h.
|
inline |
begin const iterator
Definition at line 951 of file enumerable_thread_specific.h.
|
inline |
Destroys local copies.
Definition at line 963 of file enumerable_thread_specific.h.
Referenced by tbb::combinable< T >::clear().
|
inline |
Definition at line 1077 of file enumerable_thread_specific.h.
Referenced by tbb::combinable< T >::combine().
|
inline |
Definition at line 1092 of file enumerable_thread_specific.h.
Referenced by tbb::combinable< T >::combine_each().
|
inlineprivate |
Definition at line 854 of file enumerable_thread_specific.h.
|
inlineprivate |
Definition at line 829 of file enumerable_thread_specific.h.
|
inlinestaticprivate |
Definition at line 835 of file enumerable_thread_specific.h.
|
inlinestaticprivate |
Definition at line 843 of file enumerable_thread_specific.h.
|
inline |
true if there have been no local copies created
Definition at line 943 of file enumerable_thread_specific.h.
|
inline |
end iterator
Definition at line 948 of file enumerable_thread_specific.h.
|
inline |
end const iterator
Definition at line 954 of file enumerable_thread_specific.h.
|
inlineprivate |
Definition at line 859 of file enumerable_thread_specific.h.
|
inlineprivate |
Definition at line 972 of file enumerable_thread_specific.h.
|
inlineprivate |
Definition at line 996 of file enumerable_thread_specific.h.
|
inlineprivate |
Definition at line 984 of file enumerable_thread_specific.h.
|
inline |
returns reference to local, discarding exists
Definition at line 928 of file enumerable_thread_specific.h.
Referenced by tbb::combinable< T >::local().
|
inline |
Returns reference to calling thread's local copy, creating one if necessary.
Definition at line 934 of file enumerable_thread_specific.h.
|
inline |
Definition at line 1036 of file enumerable_thread_specific.h.
|
inline |
Definition at line 1047 of file enumerable_thread_specific.h.
|
inline |
Definition at line 1057 of file enumerable_thread_specific.h.
|
inline |
Definition at line 1065 of file enumerable_thread_specific.h.
|
inline |
Get range for parallel algorithms.
Definition at line 957 of file enumerable_thread_specific.h.
|
inline |
Get const range for parallel algorithms.
Definition at line 960 of file enumerable_thread_specific.h.
|
inline |
Get the number of local copies.
Definition at line 940 of file enumerable_thread_specific.h.
|
friend |
Definition at line 801 of file enumerable_thread_specific.h.
|
private |
Definition at line 823 of file enumerable_thread_specific.h.
|
private |
Definition at line 825 of file enumerable_thread_specific.h.