29 #ifndef RCF_DETAIL_WIN_TSS_PTR_HPP
30 #define RCF_DETAIL_WIN_TSS_PTR_HPP
32 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
34 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
36 #if defined(BOOST_WINDOWS)
38 #include <RCF/thread/push_options.hpp>
44 RCF_EXPORT DWORD win_tss_ptr_create();
53 : tss_key_(win_tss_ptr_create())
66 return static_cast<T*
>(::TlsGetValue(tss_key_));
70 void operator=(T* value)
72 ::TlsSetValue(tss_key_, value);
84 #include <RCF/thread/pop_options.hpp>
86 #endif // defined(BOOST_WINDOWS)
88 #endif // RCF_DETAIL_WIN_TSS_PTR_HPP