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