18 #ifndef LUNCHBOX_TLS_H 19 #define LUNCHBOX_TLS_H 25 namespace detail {
class TLS; }
31 typedef void (*ThreadDestructor_t)(
void*);
40 LUNCHBOX_API
explicit TLS( ThreadDestructor_t dtorFunc );
46 LUNCHBOX_API
void set(
const void* data );
49 LUNCHBOX_API
void*
get();
52 LUNCHBOX_API
const void*
get()
const;
55 detail::TLS*
const impl_;
57 TLS(
const TLS& ) =
delete;
58 TLS( TLS&& ) =
delete;
59 TLS& operator = (
const TLS& ) =
delete;
60 TLS& operator = (
const TLS&& ) =
delete;
64 #endif //LUNCHBOX_TLS_H Defines export visibility macros for library Lunchbox.
Abstraction layer and common utilities for multi-threaded programming.
Provides thread-local storage API used by PerThread and PerThreadRef.