29 #ifndef RCF_DETAIL_POSIX_TSS_PTR_HPP
30 #define RCF_DETAIL_POSIX_TSS_PTR_HPP
32 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
34 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
36 #if defined(BOOST_HAS_PTHREADS)
40 #include <RCF/thread/push_options.hpp>
46 RCF_EXPORT
void posix_tss_ptr_create(pthread_key_t& key);
56 posix_tss_ptr_create(tss_key_);
62 ::pthread_key_delete(tss_key_);
68 return static_cast<T*
>(::pthread_getspecific(tss_key_));
72 void operator=(T* value)
74 ::pthread_setspecific(tss_key_, value);
80 pthread_key_t tss_key_;
87 #include <RCF/thread/pop_options.hpp>
89 #endif // defined(BOOST_HAS_PTHREADS)
91 #endif // RCF_DETAIL_POSIX_TSS_PTR_HPP