gwnavruntime/querysystem/workingmemcontainers/workingmembitfield.h Source File
Go to the documentation of this file.
15 class WorkingMemBitField
19 WorkingMemBitField(WorkingMemory* workingMemory);
21 void Init(WorkingMemory* workingMemory);
24 bool IsInitialized()
const;
32 bool IsBitSet(
KyUInt32 bitIndex)
const;
39 const KyUInt32 wordCount = BitFieldUtils::GetWordsCount(bitCount);
40 KY_TRY(m_words.SetMinimumCapacity(wordCount));
42 for(
KyUInt32 i = m_words.GetCount(); i < wordCount; ++i)
43 m_words.PushBack_UnSafe(0);
48 KyResult GrowIfNeeded() {
return m_words.GrowIfNeeded(); }
50 void ReleaseWorkingMemoryBuffer() { m_words.ReleaseWorkingMemoryBuffer(); }
53 KyUInt32* GetWordsBuffer() {
return m_words.GetBuffer(); }
54 const KyUInt32* GetWordsBuffer()
const {
return m_words.GetBuffer(); }
57 WorkingMemArray<KyUInt32> m_words;
60 KY_INLINE WorkingMemBitField::WorkingMemBitField() {}
61 KY_INLINE WorkingMemBitField::WorkingMemBitField(WorkingMemory* workingMemory) : m_words(workingMemory) {}
63 KY_INLINE
void WorkingMemBitField::Init(WorkingMemory* workingMemory) { m_words.Init(workingMemory); }
65 KY_INLINE
bool WorkingMemBitField::IsInitialized()
const {
return m_words.IsInitialized(); }
67 KY_INLINE
KyUInt32 WorkingMemBitField::GetWordCount()
const {
return m_words.GetCount(); }
68 KY_INLINE
KyUInt32 WorkingMemBitField::GetCapacity()
const {
return m_words.GetCapacity(); }
69 KY_INLINE
bool WorkingMemBitField::IsEmpty()
const {
return m_words.IsEmpty(); }
71 KY_INLINE
void WorkingMemBitField::SetBit(
KyUInt32 bitIndex) { BitFieldUtils::SetBit(GetWordsBuffer(), bitIndex); }
72 KY_INLINE
void WorkingMemBitField::UnsetBit(
KyUInt32 bitIndex) { BitFieldUtils::UnsetBit(GetWordsBuffer(), bitIndex); }
73 KY_INLINE
bool WorkingMemBitField::IsBitSet(
KyUInt32 bitIndex)
const {
return BitFieldUtils::IsBitSet(GetWordsBuffer(), bitIndex); }
75 KY_INLINE
void WorkingMemBitField::UnsetAllBits() { memset(GetWordsBuffer(),
'\0', GetWordCount() *
sizeof(
KyUInt32)); }
76 KY_INLINE
void WorkingMemBitField::SetAllBits() { memset(GetWordsBuffer(),
'\xFF', GetWordCount() *
sizeof(
KyUInt32)); }
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_TRY(expr)
Returns KY_ERROR if expression == KY_ERROR.
Definition: types.h:144
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17