6 #ifndef _INC_cArraySortRef_H
7 #define _INC_cArraySortRef_H
17 template<
class TYPE,
typename TYPE_KEY>
58 template <
class TYPE,
typename _TYPE_HASH = HASHCODE_t>
77 KEY_t key1 = pData1->get_HashCode();
78 KEY_t key2 = pData2->get_HashCode();
86 KEY_t key2 = pBase->get_HashCode();
103 if (pBase ==
nullptr)
111 template <
class TYPE,
typename TYPE_KEY =
int>
130 ASSERT(pData1 !=
nullptr);
131 ASSERT(pData2 !=
nullptr);
132 TYPE_KEY key1 = pData1->get_SortValue();
133 TYPE_KEY key2 = pData2->get_SortValue();
141 if (pBase ==
nullptr)
143 TYPE_KEY key2 = pBase->get_SortValue();
154 if (pBase ==
nullptr)
156 TYPE_KEY nKey = pBase->get_SortValue();
163 if (pBase2 ==
nullptr)
183 TYPE_KEY nKey = pBase->get_SortValue();
187 return this->
Add(pBase);
197 template <
class TYPE,
typename _TYPECH = GChar_t>
216 return StrT::CmpI<_TYPECH>(pData1->get_Name(), pData2->get_Name());
222 return StrT::CmpI<_TYPECH>(key1, pObj->get_Name());
233 if (pBase ==
nullptr)
239 if (pBase ==
nullptr)
#define TYPE
Definition: StrT.cpp:38
#define ASSERT(exp)
Definition: cDebugAssert.h:87
#define ASSERT_N(exp)
Definition: cDebugAssert.h:70
void RemoveAll()
Clean up.
Definition: cArray.h:230
void InsertAt(ITERATE_t nIndex, ARG_TYPE newElement)
Definition: cArray.h:341
ITERATE_t GetSize() const noexcept
Definition: cArray.h:137
void RemoveAt(ITERATE_t nIndex)
Definition: cArray.h:367
REF_t GetAt(ITERATE_t index) const
Definition: cArray.h:830
Definition: cArrayRef.h:21
Definition: cArraySort.h:406
SUPER_t::REF_t REF_t
Definition: cArraySort.h:414
REF_t GetAtCheck(ITERATE_t nIndex) const
Definition: cArraySort.h:445
Definition: cArraySortRef.h:60
SUPER_t::KEY_t KEY_t
Definition: cArraySortRef.h:69
ITERATE_t FindIForAK(const TYPE *pBase) const
Definition: cArraySortRef.h:93
virtual COMPARE_t CompareKey(KEY_t key1, REF_t pBase) const override
Definition: cArraySortRef.h:81
SUPER_t::REF_t REF_t
Definition: cArraySortRef.h:68
virtual ~cArraySortHash()
Definition: cArraySortRef.h:90
bool RemoveArgKey(TYPE *pBase)
Definition: cArraySortRef.h:101
cArraySortRef< TYPE, _TYPE_HASH > SUPER_t
Definition: cArraySortRef.h:67
virtual COMPARE_t CompareData(REF_t pData1, REF_t pData2) const noexcept override
Definition: cArraySortRef.h:72
Definition: cArraySortRef.h:199
SUPER_t::KEY_t KEY_t
Definition: cArraySortRef.h:208
SUPER_t::REF_t REF_t
Definition: cArraySortRef.h:207
virtual COMPARE_t CompareData(REF_t pData1, REF_t pData2) const noexcept override
Definition: cArraySortRef.h:211
virtual COMPARE_t CompareKey(KEY_t key1, REF_t pObj) const override
Definition: cArraySortRef.h:218
cArraySortRef< TYPE, const _TYPECH * > SUPER_t
Definition: cArraySortRef.h:206
bool RemoveArgKey(TYPE *pBase)
Definition: cArraySortRef.h:237
virtual ~cArraySortName()
Definition: cArraySortRef.h:225
ITERATE_t FindIForAK(const TYPE *pBase) const
Definition: cArraySortRef.h:228
Definition: cArraySortRef.h:19
void DisposeAll()
Definition: cArraySortRef.h:30
Definition: cArraySortRef.h:113
SUPER_t::REF_t REF_t
Definition: cArraySortRef.h:123
ITERATE_t FindIForAK(const TYPE *pBase) const
Definition: cArraySortRef.h:150
virtual COMPARE_t CompareData(REF_t pData1, REF_t pData2) const noexcept override
Definition: cArraySortRef.h:127
SUPER_t::KEY_t KEY_t
Definition: cArraySortRef.h:124
ITERATE_t AddAfter(TYPE *pBase)
Definition: cArraySortRef.h:179
virtual COMPARE_t CompareKey(KEY_t key1, REF_t pBase) const override
Definition: cArraySortRef.h:139
bool RemoveArgKey(TYPE *pBase)
Definition: cArraySortRef.h:171
virtual ~cArraySortValue()
Definition: cArraySortRef.h:147
cArraySortRef< TYPE, TYPE_KEY > SUPER_t
Definition: cArraySortRef.h:122
ITERATE_t FindIForKey(KEY_t key) const
Definition: cArraySort.h:68
SUPER_t::REF_t REF_t
Definition: cArraySort.h:33
ITERATE_t FindIFirstForKey(TYPE nKey) const
Definition: cArraySort.h:79
ITERATE_t FindILastForKey(TYPE nKey) const
Definition: cArraySort.h:96
bool RemoveArgKey(REF_t pObj, KEY_t key)
Definition: cArraySort.h:44
ITERATE_t Add(TYPE pNew)
Definition: cArraySort.h:186
TYPE_KEY KEY_t
Definition: cArraySort.h:32
void SetCopy(const cArrayTyped< TYPE, ARG_TYPE > &aValues)
Definition: cArray.h:598
< The main namespace for all Core functions.
Definition: GrayCore.cpp:14
int COMPARE_t
result of compare. 0=same, 1=a>b, -1=a<b
Definition: cValT.h:17
int ITERATE_t
like size_t but signed
Definition: Index.h:28
const ITERATE_t k_ITERATE_BAD
Definition: Index.h:30
@ COMPARE_Greater
VARCMP_GT.
Definition: cValT.h:24
@ COMPARE_Equal
VARCMP_EQ.
Definition: cValT.h:23
uint16 index
Definition: sample3.cpp:29
static COMPARE_t Compare(const TYPE &a, const TYPE &b) noexcept
Definition: cValT.h:46