17 #ifndef __TBB_combinable_H 18 #define __TBB_combinable_H 20 #define __TBB_combinable_H_include_area 37 typedef typename tbb::enumerable_thread_specific<T, my_alloc, ets_no_key>
my_ets_type;
44 template <
typename finit>
52 #if __TBB_ETS_USE_CPP11 61 #if __TBB_ETS_USE_CPP11 68 void clear() { my_ets.clear(); }
70 T&
local() {
return my_ets.local(); }
72 T&
local(
bool & exists) {
return my_ets.local(exists); }
75 template <
typename combine_func_t>
76 T
combine(combine_func_t f_combine) {
return my_ets.combine(f_combine); }
79 template <
typename combine_func_t>
80 void combine_each(combine_func_t f_combine) { my_ets.combine_each(f_combine); }
86 #undef __TBB_combinable_H_include_area Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.
void combine_each(combine_func_t f_combine)
tbb::cache_aligned_allocator< T > my_alloc
Thread-local storage with optional reduction.
tbb::enumerable_thread_specific< T, my_alloc, ets_no_key > my_ets_type
combinable & operator=(const combinable &other)
T combine(combine_func_t f_combine)
void move(tbb_thread &t1, tbb_thread &t2)
combinable(combinable &&other)
combinable(const combinable &other)
combinable & operator=(combinable &&other)