add ByteReader.get(dst, size) method
This commit is contained in:
@@ -107,6 +107,14 @@ void ByteReader::checkMagic(const char* data, size_t size) {
|
|||||||
pos += size;
|
pos += size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ByteReader::get(char* dst, size_t size) {
|
||||||
|
if (pos + size > this->size) {
|
||||||
|
throw std::runtime_error("buffer underflow");
|
||||||
|
}
|
||||||
|
std::memcpy(dst, data+pos, size);
|
||||||
|
pos += size;
|
||||||
|
}
|
||||||
|
|
||||||
ubyte ByteReader::get() {
|
ubyte ByteReader::get() {
|
||||||
if (pos == size) {
|
if (pos == size) {
|
||||||
throw std::runtime_error("buffer underflow");
|
throw std::runtime_error("buffer underflow");
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ public:
|
|||||||
ByteReader(const ubyte* data);
|
ByteReader(const ubyte* data);
|
||||||
|
|
||||||
void checkMagic(const char* data, size_t size);
|
void checkMagic(const char* data, size_t size);
|
||||||
|
/// @brief Get N bytes
|
||||||
|
void get(char* dst, size_t size);
|
||||||
/// @brief Read one byte (unsigned 8 bit integer)
|
/// @brief Read one byte (unsigned 8 bit integer)
|
||||||
ubyte get();
|
ubyte get();
|
||||||
/// @brief Read one byte (unsigned 8 bit integer) without pointer move
|
/// @brief Read one byte (unsigned 8 bit integer) without pointer move
|
||||||
|
|||||||
Reference in New Issue
Block a user