42 return _bits[index] != 0;
47 _bits = std::make_unique<uint8[]>(valuesCount);
48 std::uninitialized_fill_n(&
_bits[0], valuesCount, 0);
77 _mask = std::make_unique<ClientUpdateMaskType[]>(blockCount);
78 std::uninitialized_fill_n(&
_mask[0], blockCount, 0);
90 *data <<
uint8(blockCount);
108 return 1u << (bit % 32);
111 std::unique_ptr<ClientUpdateMaskType[]>
_mask;
@ CLIENT_UPDATE_MASK_BITS
static constexpr std::size_t GetBlockIndex(uint32 bit)
UpdateMaskPacketBuilder(uint32 valuesCount)
std::unique_ptr< ClientUpdateMaskType[]> _mask
static constexpr uint32 GetBlockFlag(uint32 bit)
uint32 ClientUpdateMaskType
Type representing how client reads update mask.
static constexpr uint8 CalculateBlockCount(uint32 fieldCount)
void AppendToPacket(ByteBuffer *data)
bool GetBit(uint32 index) const
void UnsetBit(uint32 index)
void SetCount(uint32 valuesCount)
std::unique_ptr< uint8[]> _bits
void SetBit(uint32 index)