MCPcopy Create free account
hub / github.com/KebsCS/KBotExt / ImBitArray

Class ImBitArray

KBotExt/imgui/imgui_internal.h:567–578  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

565// Store 1-bit per value.
566template<int BITCOUNT, int OFFSET = 0>
567struct ImBitArray
568{
569 ImU32 Storage[(BITCOUNT + 31) >> 5];
570 ImBitArray() { ClearAllBits(); }
571 void ClearAllBits() { memset(Storage, 0, sizeof(Storage)); }
572 void SetAllBits() { memset(Storage, 255, sizeof(Storage)); }
573 bool TestBit(int n) const { n += OFFSET; IM_ASSERT(n >= 0 && n < BITCOUNT); return IM_BITARRAY_TESTBIT(Storage, n); }
574 void SetBit(int n) { n += OFFSET; IM_ASSERT(n >= 0 && n < BITCOUNT); ImBitArraySetBit(Storage, n); }
575 void ClearBit(int n) { n += OFFSET; IM_ASSERT(n >= 0 && n < BITCOUNT); ImBitArrayClearBit(Storage, n); }
576 void SetBitRange(int n, int n2) { n += OFFSET; n2 += OFFSET; IM_ASSERT(n >= 0 && n < BITCOUNT && n2 > n && n2 <= BITCOUNT); ImBitArraySetBitRange(Storage, n, n2); } // Works on range [n..n2)
577 bool operator[](int n) const { n += OFFSET; IM_ASSERT(n >= 0 && n < BITCOUNT); return IM_BITARRAY_TESTBIT(Storage, n); }
578};
579
580// Helper: ImBitVector
581// Store 1-bit per value.

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected