22 PacketReader(
const std::uint8_t *data, std::size_t size);
57 bool readBytes(std::uint8_t *destination, std::size_t size);
83 bool canRead(std::size_t size)
const;
85 const std::uint8_t *_data;
Bounds checked reader of big-endian values over a byte buffer.
Definition PacketReader.hpp:15
bool readBytes(std::uint8_t *destination, std::size_t size)
Copies raw bytes out of the buffer.
Definition PacketReader.cpp:49
std::size_t getRemaining() const
Returns the number of bytes left to read.
Definition PacketReader.cpp:67
bool isEnd() const
Tells whether every byte has been read.
Definition PacketReader.cpp:73
std::size_t getOffset() const
Returns the number of bytes already read.
Definition PacketReader.cpp:65
PacketReader(const std::uint8_t *data, std::size_t size)
Creates a reader over a raw buffer that it does not own.
Definition PacketReader.cpp:6
void reset()
Moves the read offset back to the first byte.
Definition PacketReader.cpp:75
bool readUInt32(std::uint32_t &value)
Reads a big-endian 32-bit unsigned integer.
Definition PacketReader.cpp:37
bool readUInt8(std::uint8_t &value)
Reads one byte.
Definition PacketReader.cpp:18
bool readUInt16(std::uint16_t &value)
Reads a big-endian 16-bit unsigned integer.
Definition PacketReader.cpp:27