[詳解]
56 template<
typename T,
class U_POOL = ArrayPoolDefault,
class uGrowBy = AkGrowByPolicy_DEFAULT,
class TMovePolicy = AkAssignmentMovePolicy<T>,
class TComparePolicy = AkDefaultSortedKeyCompare<T> >
74 template<
typename T,
class TMovePolicy = AkAssignmentMovePolicy<T>,
class TComparePolicy = AkDefaultSortedKeyCompare<T> >
75 class AkBookmarkSet :
public AkSet<T, AkPluginArrayAllocator, AkGrowByPolicy_DEFAULT, TMovePolicy, TComparePolicy>
96 template<
typename T,
class U_POOL = ArrayPoolDefault,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
101 while (itA != in_A.
End() && itB != in_B.
End())
105 else if (*itA < *itB)
116 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
125 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
130 while (itA != in_A.
End() && itB != in_B.
End())
132 if (TComparePolicy::Equal(&in_A, *itA, *itB))
136 else if (TComparePolicy::Lesser(&in_A, *itA, *itB))
143 return (itA == in_A.
End());
149 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
155 while (itA != in_A.
End() && itB != in_B.
End())
157 if (TComparePolicy::Equal(&in_A, *itA, *itB))
159 ++uSize; ++itA; ++itB;
161 else if (TComparePolicy::Lesser(&in_A, *itA, *itB))
176 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy>
180 itAr = itAw = in_A.
Begin();
182 while (itAr != in_A.
End())
184 if (itB == in_B.
End() || TComparePolicy::Lesser(&in_A, *itAr, *itB))
192 else if (TComparePolicy::Equal(&in_A, *itAr, *itB))
209 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
213 itAr = itAw = in_A.
Begin();
215 while (itAr != in_A.
End() && itB != in_B.
End())
217 if (TComparePolicy::Equal(&in_A, *itAr, *itB))
226 else if (TComparePolicy::Lesser(&in_A, *itAr,*itB))
242 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
243 static bool AkIntersection(
AkSet<T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy>& out_res,
const AkSet<T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy>& in_A,
const AkSet<T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy>& in_B)
249 while (itA != in_A.
End() && itB != in_B.
End())
251 if (TComparePolicy::Equal(&in_A, *itA, *itB))
258 else if (TComparePolicy::Lesser(&in_A, *itA,*itB))
274 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
280 if (result.
Resize(uSizeNeeded))
286 while (itB != in_B.
End() || itA != io_A.
End())
288 if ( itB != in_B.
End() && (itA == io_A.
End() || TComparePolicy::Lesser(&io_A, *itB, *itA)))
293 else if (itB == in_B.
End() || TComparePolicy::Lesser(&io_A, *itA,*itB) )
320 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
321 static inline bool AkIntersect(
const AkSet<T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy>& in_A,
AkSetType in_typeA,
const AkSet<T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy>& in_B,
AkSetType in_typeB)
342 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
353 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
354 static inline bool AkSubtraction(
AkSet<T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy>& in_A,
AkSetType in_typeA,
const AkSet<T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy>& in_B,
AkSetType in_typeB)
376 template<
typename T,
class U_POOL,
class uGrowBy,
class TMovePolicy,
class TComparePolicy >
377 static inline bool AkUnion(
AkSet<T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy>& io_A,
AkSetType& io_typeA,
const AkSet<T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy>& in_B,
AkSetType in_typeB)
static bool AkContains(const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_Set, AkSetType in_type, T in_item)
AKRESULT Copy(const AkArray< T, const T &, ArrayPoolDefault, AkGrowByPolicy_DEFAULT, AkAssignmentMovePolicy< T > > &in_rSource)
static bool AkIntersection(AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_A, const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_B)
void RemoveAll()
Removes all items in the array
static AkUInt32 AkCountIntersection(const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_A, const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_B)
T * Exists(T in_key) const
static bool AkUnion(AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &io_A, const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_B)
int32_t AkInt32
Signed 32-bit integer
AkForceInline void Init(AK::IAkPluginMemAlloc *in_pAllocator)
AkUInt32 m_uLength
number of items in the array.
bool Resize(AkUInt32 in_uiSize)
Resize the array to the specified size.
AkBookmarkSet(AK::IAkPluginMemAlloc *in_pAllocator)
Iterator End() const
Returns the iterator to the end of the array
void Transfer(AkArray< T, const T &, ArrayPoolDefault, AkGrowByPolicy_DEFAULT, AkAssignmentMovePolicy< T > > &in_rSource)
static bool AkSubtraction(AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_A, const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_B)
AkUInt32 m_ulReserved
how many we can have at most (currently allocated).
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< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_A, const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_B)
static bool AkDisjoint(const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_A, const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &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
@ AK_Success
The operation was successful.
bool Contains(T in_item) const
AkSet< AkUniqueID, ArrayPoolDefault > AkUniqueIDSet
static AkForceInline T & Get(T &in_item)
static bool AkIntersect(const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_A, const AkSet< T, U_POOL, uGrowBy, TMovePolicy, TComparePolicy > &in_B)
T * m_pItems
pointer to the beginning of the array.
あなたのプロジェクトについて教えてください。ご不明な点はありませんか。
プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。
Wwiseからはじめよう