16 #ifndef dealii_thread_local_storage_h
17 # define dealii_thread_local_storage_h
23 # ifdef DEAL_II_WITH_THREADS
24 # include <tbb/enumerable_thread_specific.h>
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;
195 template <
typename T>
201 template <
typename T>
203 const ThreadLocalStorage<T> &t)
208 template <
typename T>
210 ThreadLocalStorage<T>::get()
212 # ifdef DEAL_II_WITH_THREADS
220 template <
typename T>
222 ThreadLocalStorage<T>::get(
bool &exists)
224 # ifdef DEAL_II_WITH_THREADS
225 return data.local(exists);
233 template <
typename T>
234 inline ThreadLocalStorage<T>::operator
T &()
240 template <
typename T>
241 inline ThreadLocalStorage<T> &
242 ThreadLocalStorage<T>::operator=(
const T &t)
249 template <
typename T>
251 # ifdef DEAL_II_WITH_THREADS
252 tbb::enumerable_thread_specific<T> &
256 ThreadLocalStorage<T>::get_implementation()
263 template <
typename T>
265 ThreadLocalStorage<T>::clear()
267 # ifdef DEAL_II_WITH_THREADS