27#ifndef _SB_THREAD_STORAGE_BASE_H_
28#define _SB_THREAD_STORAGE_BASE_H_
33#include <Inventor/STL/list>
37#pragma warning( push )
38#pragma warning(disable:4251)
42class SbThreadStorageMapStruct;
51class SbThreadStorageBase
62 SbThreadStorageBase();
65 SbThreadStorageBase(
const SbThreadStorageBase& tocopy);
68 virtual ~SbThreadStorageBase();
71 virtual void deleteStorage(
void* p) = 0;
75 static void initClass();
77 static void exitClass();
80 void Register(
void* );
82 typedef std::list< SbThreadStorageMapStruct* > SbThreadStorageGlobalList;
86 SbThreadStorageMapStruct* threadStorageMapStruct;
95 void*
get (
const SbThreadStorageGlobalList::const_iterator& it_i);
98 static SbThreadStorageGlobalList s_threadStorageGlobalList;
107 static size_t getID();
111 static size_t s_storageID;
116 typedef std::deque<size_t> SbThreadStorageFreeIDList;
117 static SbThreadStorageFreeIDList s_freeStorageIDList;
#define SB_THREAD_TLS_HEADER()
Defines headers for required member variables in thread storage management.
const SbVec3f & get(int index) const
valueRef getValue() const
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Portable spinloc...