Warning: you were redirected to the latest documentation corresponding to your major release ( 2024.1.1.8691 ). Should you wish to access your specific version's documentation, please download the offline documentation from the Audiokinetic Launcher and check the Offline Documentation option in Wwise Authoring.
Go to the documentation of this file.
28 template<
typename KeyType>
31 return AkInt32(uKey) & iEntriesMask;
35 template<
typename KeyType>
41 return (iSlot -
AkInt32(uKey)) & iEntriesMask;
45 template<
typename KeyType>
52 if (!pbSlotOccupied[iSlot])
54 KeyType keyInSlot = pKeys[iSlot];
55 if (keyInSlot == uKey)
59 iSlot = (iSlot + 1) & iEntriesMask;
68 while (iSlot < iNumEntries)
75 iSlot = (iSlot >= iNumEntries) ? -1 : iSlot;
90 template<
typename KeyType>
96 AkInt32 iBestSlot = uKey & (uNumEntries - 1);
103 template<
typename KeyType>
109 AkInt32 iNextSlot = (iPreviousSlot + 1) & (uNumEntries - 1);
116 template<
typename KeyType>
125 template<
typename KeyType>
133 template<
typename KeyType,
typename FuncType>
138 for (
AkUInt32 uBaseSlot = 0; uBaseSlot < uNumReservedEntries; uBaseSlot += 8)
144 in_func(uBaseSlot + 7 - (slotSubIdx / 8));
145 slotOccMask ^= (0x8000000000000000ULL >> slotSubIdx);
void ForEachSlot(const AkHashTableBase< KeyType > *in_pHashTable, FuncType in_func)
Definition of data structures for AkAudioObject.
AkForceInline AkUInt32 AkBitScanReverse64(AkUInt64 in_bits)
AkInt32 GetNextSlotForKey(const AkHashTableBase< KeyType > *pHashTable, KeyType uKey, AkInt32 iPreviousSlot)
AkInt32 IdealPos(KeyType uKey, AkInt32 iEntriesMask)
AkForceInline AkUInt32 AkBitScanForward64(AkUInt64 in_bits)
int32_t AkInt32
Signed 32-bit integer.
AkInt32 GetFirstActiveSlot(const AkHashTableBase< KeyType > *pHashTable)
AkInt32 LinearProbe(const KeyType *pKeys, const bool *pbSlotOccupied, KeyType uKey, AkInt32 iSlot, AkUInt32 uNumEntries)
AkUInt32 uNumReservedEntries
AkInt32 GetFirstSlotForKey(const AkHashTableBase< KeyType > *pHashTable, KeyType uKey)
uint64_t AkUInt64
Unsigned 64-bit integer.
AkInt32 DistanceFromIdealPos(AkInt32 iSlot, KeyType uKey, AkInt32 iEntriesMask)
AkInt32 OccupiedProbe(const bool *pbSlotOccupied, AkInt32 iSlot, AkInt32 iNumEntries)
uint32_t AkUInt32
Unsigned 32-bit integer.
AkInt32 GetNextActiveSlot(const AkHashTableBase< KeyType > *pHashTable, AkInt32 iPreviousSlot)
Tell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise