|
| 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.