|
bool | isHighBlockUseExact () const |
|
bool | isHighBlockUseValid () const |
|
BLOCK_ENUM_t | get_BlocksUse () const |
|
void | UpdateBlocksUse () |
|
void | UpdateBlocksUseMax (BLOCK_ENUM_t nBlocksUseMax) |
|
void | UpdateBlocksUseCap () |
|
BLOCK_t & | RefBlock (BLOCK_ENUM_t nBlock) |
|
| cBitArray () |
|
| cBitArray (BIT_ENUM_t nBits) |
|
| cBitArray (BIT_ENUM_t nBits, BLOCK_t uValueMask) |
|
| cBitArray (BLOCK_ENUM_t nBlocks, const BLOCK_t *pBlocks) |
|
| cBitArray (BLOCK_ENUM_t nBlocks, const BLOCK_t *pBlocks, bool bStatic) |
|
| ~cBitArray () |
|
void | SetBlocksStatic (BLOCK_ENUM_t nBlocks, const BLOCK_t *pBlocks) |
|
void | SetBlocksStatic (const cBitArrayStatic &b) |
|
HRESULT | SetBlockSizeGrow (BLOCK_ENUM_t nBlocksNew) |
|
HRESULT | SetBlockSizeShrink (BLOCK_ENUM_t nBlocksNew) |
|
void | SetBlockSizeUse (BLOCK_ENUM_t nBlocksNew) |
|
bool | IsEqual (const THIS_t &x) const |
|
bool | IsEqualU (BLOCK_t x) const |
|
bool | operator== (const THIS_t &x) const |
|
bool | operator!= (const THIS_t &x) const |
|
bool | isEmptyBits () const |
|
bool | IsSet (BIT_ENUM_t nBit) const |
|
BIT_ENUM_t | get_Lowest1Bit () const |
|
BIT_ENUM_t | get_Highest1Bit () const |
|
BIT_ENUM_t | get_Count1Bits () const |
|
void | SetBit (BIT_ENUM_t nBit) |
|
void | ClrBit (BIT_ENUM_t nBit) |
|
void | ModBit (BIT_ENUM_t nBit, bool bVal) |
|
void | SetTruncateBits (BIT_ENUM_t nBits) |
|
HRESULT | SetRandomBits (BIT_ENUM_t nBits, IRandomNoise *pRandom=nullptr) |
|
HRESULT | SetRandomBitsLarge (BIT_ENUM_t nBits, IRandomNoise *pRandom=nullptr) |
|
void | SetCopyBits (const THIS_t &ref) |
|
HRESULT | SetCopySecure (const THIS_t &val, bool assign) |
|
void | SetZeroAll () |
|
void | SetNullVal () |
|
size_t | get_BinarySize () const |
|
HRESULT | GetBinaryBE (BYTE *pOut, size_t nSizeOut) const |
|
HRESULT | GetBinaryBE (cHeapBlock &b) const |
|
HRESULT | SetBinaryBE (const BYTE *pData, size_t nSize) |
|
HRESULT | SetBinaryLE (const BYTE *pData, size_t nSize) |
|
| UNITTEST_FRIEND (cBitArray) |
|
| cBitArrayStatic () noexcept |
|
| cBitArrayStatic (BIT_ENUM_t nBits) |
|
| cBitArrayStatic (BIT_ENUM_t nBits, BLOCK_t uValueMask) |
|
| cBitArrayStatic (BLOCK_ENUM_t nBlocks, const BLOCK_t *pData) |
|
| cBitArrayStatic (BLOCK_ENUM_t nBlocks, const BLOCK_t *pBlocksInit, bool bStatic) |
|
| cBitArrayStatic (const THIS_t &ref) |
|
| cBitArrayStatic (THIS_t &&ref) noexcept |
|
| ~cBitArrayStatic () |
|
bool | isNullVal () const noexcept |
|
bool | isZeroVal () const noexcept |
|
BLOCK_ENUM_t | get_BlocksCap () const noexcept |
|
size_t | get_BytesCap () const noexcept |
|
BLOCK_t | GetBlockInt (BLOCK_ENUM_t i) const |
|
const BLOCK_t * | get_BlockPtrC () const noexcept |
|
BLOCK_t * | get_BlockPtr () |
|
BLOCK_t & | RefBlockInt (BLOCK_ENUM_t i) |
|
UINT32 | GetU32Int (BLOCK_ENUM_t j) const |
|
void | SetU32Int (BLOCK_ENUM_t j, UINT32 val32) |
|
const THIS_t & | operator= (const THIS_t &ref) |
|
THIS_t & | operator= (THIS_t &&ref) |
|
bool | isStatic () const noexcept |
|
void | SetBlocksStatic (BLOCK_ENUM_t nBlocks, const BLOCK_t *pBlocks) |
|
bool | isReadOnly () const noexcept |
|
BIT_ENUM_t | get_BitsCap () const noexcept |
|
bool | IsValidBit (BIT_ENUM_t nBit) const noexcept |
|
bool | IsSet (BIT_ENUM_t nBit) const |
|
bool | isOdd () const |
|
void | ClrBit (BIT_ENUM_t nBit) |
|
void | SetBit (BIT_ENUM_t nBit) |
|
bool | SetBitRet (BIT_ENUM_t nBit) |
|
void | ModBit (BIT_ENUM_t nBit, bool bVal) |
|
void | SetNullVal () noexcept |
|
void | SetZeroAll () |
|
void | SetAll1 () |
|
void | SetBitsSizeZ (BIT_ENUM_t nBits) |
|
void | SetInvertBytes (size_t nSize) |
|
void | SetCopyBits (const THIS_t &ref) |
|
|
static HRESULT GRAYCALL | ReturnError (HRESULT hRes, const char *pszMsg) |
|
static HRESULT GRAYCALL | SwapSecure (THIS_t &X, THIS_t &Y, bool swap) |
|
static BLOCK_ENUM_t | GetBlocksFromBits (BIT_ENUM_t nBits) noexcept |
|
static BLOCK_ENUM_t | GetBlocksFromBytes (size_t nBytes) noexcept |
|
static bool | IsReasonableBlockQty (BLOCK_ENUM_t nBlocks) noexcept |
|
static constexpr size_t | GetSizeBytes (BIT_ENUM_t nBits) noexcept |
|
template<typename TYPE > |
static constexpr TYPE | Mask1 (BIT_ENUM_t nBit) noexcept |
|
template<typename TYPE > |
static constexpr bool | IsMask1 (TYPE nVal) noexcept |
|
template<typename TYPE > |
static constexpr bool | IsSet (TYPE nVal, BIT_ENUM_t nBit) noexcept |
|
template<typename TYPE > |
static constexpr bool | IsClear (TYPE nVal, BIT_ENUM_t nBit) noexcept |
|
template<typename TYPE > |
static constexpr TYPE | SetBit (TYPE nVal, BIT_ENUM_t nBit) noexcept |
|
template<typename TYPE > |
static constexpr TYPE | ClearBit (TYPE nVal, BIT_ENUM_t nBit) noexcept |
|
template<typename TYPE > |
static constexpr bool | HasMask (TYPE nVal, TYPE nMask) noexcept |
|
template<typename TYPE > |
static BIT_ENUM_t | Highest1Bit (TYPE nMask) noexcept |
|
template<typename TYPE > |
static BIT_ENUM_t | Count1Bits (TYPE nMask) noexcept |
|
template<typename TYPE > |
static TYPE | Rotl (TYPE nVal, BIT_ENUM_t nBits) noexcept |
|
template<typename TYPE > |
static TYPE | Rotr (TYPE nVal, BIT_ENUM_t nBits) noexcept |
|
template<typename TYPE > |
static TYPE | Reverse (TYPE nVal) noexcept |
|
template<> |
BIT_ENUM_t | Count1Bits (UINT32 nVal) noexcept |
|
template<> |
BYTE | Reverse (BYTE nVal) noexcept |
|
template<> |
UINT32 | Reverse (UINT32 nVal) noexcept |
|
template<> |
ULONG | Reverse (ULONG nVal) noexcept |
|
An arbitrary dynamic sized array of boolean values. similar to a bit mask of unlimited size. Actual storage is BLOCK_t aligned.
- Note
- Compile BLOCK_t to be whatever size is biggest allowed for the platform.
-
USE_LITTLE_ENDIAN should make no difference for this class.