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