[詳解]
35 #include AK/Tools/Common/AkKeyArray.h>
55 templatetypename T,
class U_POOL = ArrayPoolDefault,
class uGrowBy = AkGrowByPolicy_DEFAULT,
class TMovePolicy = AkAssignmentMovePolicy
, class TComparePolicy = AkDefaultSortedKeyCompare >
65 templatetypename T,
class U_POOL = ArrayPoolDefault,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
70 while (itA != in_A.
End() && itB != in_B.
End())
74 else if (*itA
85 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
94 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
99 while (itA != in_A.
End() && itB != in_B.
End())
101 if (TComparePolicy::Equal(&in_A, *itA, *itB))
105 else if (TComparePolicy::Lesser(&in_A, *itA, *itB))
112 return (itA == in_A.
End());
118 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
124 while (itA != in_A.
End() && itB != in_B.
End())
126 if (TComparePolicy::Equal(&in_A, *itA, *itB))
128 ++uSize; ++itA; ++itB;
130 else if (TComparePolicy::Lesser(&in_A, *itA, *itB))
145 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy>
149 itAr = itAw = in_A.
Begin();
151 while (itAr != in_A.
End())
153 if (itB == in_B.
End() || TComparePolicy::Lesser(&in_A, *itAr, *itB))
161 else if (TComparePolicy::Equal(&in_A, *itAr, *itB))
178 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
182 itAr = itAw = in_A.
Begin();
184 while (itAr != in_A.
End() && itB != in_B.
End())
186 if (TComparePolicy::Equal(&in_A, *itAr, *itB))
195 else if (TComparePolicy::Lesser(&in_A, *itAr,*itB))
211 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
218 while (itA != in_A.
End() && itB != in_B.
End())
220 if (TComparePolicy::Equal(&in_A, *itA, *itB))
227 else if (TComparePolicy::Lesser(&in_A, *itA,*itB))
243 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
249 if (result.
Resize(uSizeNeeded))
255 while (itB != in_B.
End() || itA != io_A.
End())
257 if ( itB != in_B.
End() && (itA == io_A.
End() || TComparePolicy::Lesser(&io_A, *itB, *itA)))
262 else if (itB == in_B.
End() || TComparePolicy::Lesser(&io_A, *itA,*itB) )
289 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
311 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
322 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
345 templatetypename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
static bool AkContains(const AkSet &in_Set, AkSetType in_type, T in_item)
AKRESULT Copy(const AkArray > &in_rSource)
static bool AkIntersection(AkSet &in_A, const AkSet &in_B)
void RemoveAll()
Removes all items in the array
static AkUInt32 AkCountIntersection(const AkSet &in_A, const AkSet &in_B)
T * Exists(T in_key) const
static bool AkUnion(AkSet &io_A, const AkSet &in_B)
@ AK_Success
The operation was successful.
int32_t AkInt32
Signed 32-bit integer
bool Resize(AkUInt32 in_uiSize)
Resize the array to the specified size.
Iterator End() const
Returns the iterator to the end of the array
void Transfer(AkArray > &in_rSource)
static bool AkSubtraction(AkSet &in_A, const AkSet &in_B)
Iterator Begin() const
Returns the iterator to the first item of the array, will be End() if the array is empty.
AkForceInline AkUInt32 Length() const
Returns the numbers of items in the array.
static bool AkIsSubset(const AkSet &in_A, const AkSet &in_B)
static bool AkDisjoint(const AkSet &in_A, const AkSet &in_B)
AkForceInline T * AddLast()
uint32_t AkUInt32
Unsigned 32-bit integer
void Term()
Term the array. Must be called before destroying the object.
typename base::Iterator Iterator
bool Contains(T in_item) const
static AkForceInline T & Get(T &in_item)
static bool AkIntersect(const AkSet &in_A, const AkSet &in_B)