26 inline constexpr std::size_t
GetBlockIndex(std::size_t bit) {
return bit / 32u; }
60 return (
_blocks[index / 32] & (1 << (index % 32))) != 0;
67 return blockMask != 0;
136 for (; block <
size; ++block)
137 if ((
_blocks[block] = input[block]) != 0)
UpdateMask< Bits > operator|(UpdateMask< Bits > const &left, UpdateMask< Bits > const &right)
UpdateMask< Bits > operator&(UpdateMask< Bits > const &left, UpdateMask< Bits > const &right)
uint32 GetBlock(uint32 index) const
uint32 _blocksMask[BlocksMaskCount]
bool operator[](uint32 index) const
static constexpr uint32 BlockCount
uint32 GetBlocksMask(uint32 index) const
static constexpr uint32 BlocksMaskCount
void InitFromBlocks(uint32 const *input, uint32 size)
UpdateMask & operator|=(UpdateMask const &right)
UpdateMask & operator&=(UpdateMask const &right)
UpdateMask(std::initializer_list< uint32 > init)
uint32 _blocks[BlockCount]
constexpr std::size_t size()
constexpr std::size_t GetBlockIndex(std::size_t bit)
constexpr uint32 GetBlockFlag(std::size_t bit)