39 return pthread_key_create(&
my_key, dtor);
43 T
get() {
return (T)pthread_getspecific(
my_key); }
47 #if !__TBB_WIN8UI_SUPPORT 50 if( tmp==TLS_OUT_OF_INDEXES )
51 return TLS_OUT_OF_INDEXES;
61 if( tmp== (DWORD)0xFFFFFFFF )
62 return (DWORD)0xFFFFFFFF;
66 int destroy() { FlsFree(my_key); my_key=0;
return 0; }
67 void set( T
value ) { FlsSetValue(my_key, (LPVOID)
value); }
68 T get() {
return (T)FlsGetValue(my_key); }
81 tls() { base::create(); }
82 ~tls() { base::destroy(); }
84 operator T() {
return base::get(); }
91 if (ptr)
delete (T*)ptr;
94 T* result = base::get();
104 base::create( internal_dtor );
111 operator T*() {
return internal_get(); }
113 T& operator*() {
return *internal_get(); }
void(* tls_dtor_t)(void *)
static void internal_dtor(void *ptr)
Basic cross-platform wrapper class for TLS operations.
More advanced TLS support template class.
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value