6 #ifndef _INC_cUIDManagerArray_H
7 #define _INC_cUIDManagerArray_H
40 #define UID_PLACE_HOLDER ((cXObject*)(INT_PTR)(-1))
43 cUIDManagerArray(
const cUIDRangeMask& mask,
bool bReUseFreedUIDs =
true);
56 if (dwIndex == 0 || !m_aUIDs.IsValidIndex(dwIndex))
60 return m_aUIDs[dwIndex];
64 ASSERT(m_UIDRange.IsValidIndex(dwIndex));
67 void ClearUIDPlaceHolder(
UID_t nUID);
69 bool FreeUID(
UID_t nUID);
75 void DisposeAllUIDs();
76 void put_ReUseFreeUIDs(
bool bReUseFreeUIDs);
87 bool m_bReUseFreedUIDs;
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
#define ASSERT(exp)
Definition: cDebugAssert.h:87
#define UID_PLACE_HOLDER
Definition: cUIDManagerArray.h:40
Definition: cUIDManagerArray.h:34
cUIDRangeMask m_UIDRange
Mask of the range of valid UID's (allow high bits to float)
Definition: cUIDManagerArray.h:84
UIDINDEX_t get_UIDCount() const noexcept
Definition: cUIDManagerArray.h:46
virtual cXObjectPtr FindUIDObj(UID_t nUID) const
Definition: cUIDManagerArray.h:51
bool isIndexPlaceHolder(UIDINDEX_t dwIndex) const
Definition: cUIDManagerArray.h:62
UNITTEST_FRIEND(cUIDManagerArray)
static const UID_t k_CLEAR
Hard coded UID_t values.
Definition: cUID.h:32
Definition: cXObject.h:78
Definition: cThreadLock.h:498
int UIDINDEX_t
non dressed (partial) UID_t. just an index in a range inside the UID_t. k_HASHCODE_CLEAR
Definition: cUID.h:69
UNITTEST2_PREDEF(cQuadtree)
DECLARE_INTERFACE(IScriptableSetter)
HASHCODE32_t UID_t
Sort of the same as a HASHCODE_t. not the same as UIDINDEX_t.
Definition: cUID.h:18