7 #ifndef _INC_cThreadLocal_H
8 #define _INC_cThreadLocal_H
26 template <
class TYPE,
class TYPE_ARG>
38 THREADID_t m_nThreadId;
48 : m_nThreadId(nThreadID)
72 template <
class TYPE_INST,
class TYPE_ARG>
87 TYPE_ARG GetDataForX(THREADID_t nThreadID)
const
113 return GetDataForX(nThreadID);
121 return GetDataForX(nThreadID);
132 i =
m_a.
Add(TYPE_INST(nThreadID));
166 template <
class TYPE>
180 if (pData ==
nullptr)
194 template <
class TYPE>
207 if (pData ==
nullptr)
#define TYPE
Definition: StrT.cpp:38
#define ASSERT(exp)
Definition: cDebugAssert.h:87
#define DEBUG_CHECK(exp)
Definition: cDebugAssert.h:90
Definition: cThreadLocal.h:28
TYPE_ARG get_Data() const noexcept
Definition: cThreadLocal.h:59
THREADID_t get_HashCode() const noexcept
Definition: cThreadLocal.h:55
void put_Data(TYPE_ARG rData)
Definition: cThreadLocal.h:63
cThreadLocalInst() noexcept
Definition: cThreadLocal.h:42
~cThreadLocalInst()
Definition: cThreadLocal.h:52
cThreadLocalInst(THREADID_t nThreadID) noexcept
Definition: cThreadLocal.h:47
UNITTEST2_PREDEF(cThreadLocal)
Definition: cThreadLocal.h:168
virtual void * GetDataNewV()
Definition: cThreadLocal.h:187
cThreadLocalType< TYPE_INST, TYPE * > SUPER_t
Definition: cThreadLocal.h:174
cThreadLocalInst< cNewPtr2< TYPE >, TYPE * > TYPE_INST
Definition: cThreadLocal.h:173
TYPE * GetDataNew()
Definition: cThreadLocal.h:176
Definition: cThreadLocal.h:196
virtual void * GetDataNewV()
Definition: cThreadLocal.h:214
cThreadLocalType< TYPE_INST, TYPE * > SUPER_t
Definition: cThreadLocal.h:201
cThreadLocalInst< cRefPtr< TYPE >, TYPE * > TYPE_INST
Definition: cThreadLocal.h:200
TYPE * GetDataNew()
Definition: cThreadLocal.h:203
Definition: cThreadLocal.h:76
cThreadLockFast m_Lock
Definition: cThreadLocal.h:82
ITERATE_t GetSize() const
Definition: cThreadLocal.h:155
TYPE_ARG GetData() const
Definition: cThreadLocal.h:115
bool PutData(TYPE_ARG Data)
Definition: cThreadLocal.h:123
void RemoveAll()
Definition: cThreadLocal.h:149
virtual void OnThreadClose(THREADID_t nThreadID)
Definition: cThreadLocal.h:139
bool IsEmpty() const
Definition: cThreadLocal.h:159
cThreadLocalType()
Definition: cThreadLocal.h:97
virtual ~cThreadLocalType()
Definition: cThreadLocal.h:102
TYPE_ARG GetDataForThreadId(THREADID_t nThreadID) const
Definition: cThreadLocal.h:109
cArraySortStructHash< TYPE_INST, THREADID_t > m_a
Definition: cThreadLocal.h:84
void RemoveAll()
Clean up.
Definition: cArray.h:230
bool IsEmpty() const noexcept
Definition: cArray.h:145
const TYPE & GetAt(ITERATE_t nIndex) const
Definition: cArray.h:162
TYPE & ElementAt(ITERATE_t nIndex)
Definition: cArray.h:167
ITERATE_t GetSize() const noexcept
Definition: cArray.h:137
ITERATE_t FindIForKey(KEY_t key) const
Definition: cArraySort.h:68
bool RemoveKey(TYPE_KEY key)
Definition: cArraySort.h:124
ITERATE_t Add(TYPE_ARG pNew)
Definition: cArraySort.h:186
static bool isSingleCreated() noexcept
Definition: cSingleton.h:70
static cThreadMgr &__stdcall I()
Definition: cSingleton.h:199
Definition: cThreadLock.h:55
static THREADID_t GetCurrentId() noexcept
Definition: cThreadLock.h:97
static const THREADID_t k_NULL
Not a valid thread Id.
Definition: cThreadLock.h:64
THREADID_t get_ThreadLockOwner() const
Definition: cThreadLock.h:189
Definition: cThreadLock.h:205
Definition: cThreadMgr.h:16
UNITTEST2_PREDEF(cQuadtree)
int ITERATE_t
like size_t but signed
Definition: Index.h:28
Definition: cThreadLocalSys.h:30