16 #ifndef dealii_thread_local_storage_h 17 # define dealii_thread_local_storage_h 20 # include <deal.II/base/config.h> 22 DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
23 # ifdef DEAL_II_WITH_THREADS 24 # include <tbb/enumerable_thread_specific.h> 26 DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
30 DEAL_II_NAMESPACE_OPEN
166 # ifdef DEAL_II_WITH_THREADS 167 tbb::enumerable_thread_specific<T> &
174 # ifdef DEAL_II_WITH_THREADS 180 tbb::enumerable_thread_specific<T>
data;
188 template <
typename T>
194 template <
typename T>
201 template <
typename T>
205 # ifdef DEAL_II_WITH_THREADS 213 template <
typename T>
217 # ifdef DEAL_II_WITH_THREADS 218 return data.local(exists);
226 template <
typename T>
233 template <
typename T>
234 inline ThreadLocalStorage<T> &
242 template <
typename T>
244 # ifdef DEAL_II_WITH_THREADS 245 tbb::enumerable_thread_specific<T> &
256 template <
typename T>
260 # ifdef DEAL_II_WITH_THREADS 274 DEAL_II_NAMESPACE_CLOSE
A class that provides a separate storage location on each thread that accesses the object...
ThreadLocalStorage()=default
tbb::enumerable_thread_specific< T > & get_implementation()
tbb::enumerable_thread_specific< T > data
ThreadLocalStorage< T > & operator=(const T &t)