From 288613e06242d22cfc9d1010e777705ee2e4e8c7 Mon Sep 17 00:00:00 2001 From: Filip Grzywok Date: Mon, 12 Feb 2024 11:21:20 +0100 Subject: [PATCH] feat: encode uint8_t with binarystream --- main/io/BinaryStream.cpp | 13 +++++++++++++ main/io/include/BinaryStream.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/main/io/BinaryStream.cpp b/main/io/BinaryStream.cpp index 50897b7b..e16015ed 100644 --- a/main/io/BinaryStream.cpp +++ b/main/io/BinaryStream.cpp @@ -34,6 +34,12 @@ BinaryStream& BinaryStream::operator>>(char& value) { return *this; } +BinaryStream& BinaryStream::operator>>(uint8_t& value) { + ensureReadable(); + istr->read((char*)&value, 1); + return *this; +} + BinaryStream& BinaryStream::operator>>(std::byte& value) { ensureReadable(); istr->read((char*)&value, 1); @@ -109,6 +115,13 @@ BinaryStream& BinaryStream::operator<<(std::byte value) { return *this; } +BinaryStream& BinaryStream::operator<<(uint8_t value) { + ensureWritable(); + ostr->write((const char*)&value, sizeof(value)); + + return *this; +} + BinaryStream& BinaryStream::operator<<(int16_t value) { ensureWritable(); if (flipBytes) diff --git a/main/io/include/BinaryStream.h b/main/io/include/BinaryStream.h index 68fd3fe2..3af2d315 100644 --- a/main/io/include/BinaryStream.h +++ b/main/io/include/BinaryStream.h @@ -59,6 +59,7 @@ class BinaryStream { // Read operations BinaryStream& operator>>(char& value); BinaryStream& operator>>(std::byte& value); + BinaryStream& operator>>(uint8_t& value); BinaryStream& operator>>(int16_t& value); BinaryStream& operator>>(uint16_t& value); BinaryStream& operator>>(int32_t& value); @@ -69,6 +70,7 @@ class BinaryStream { // Write operations BinaryStream& operator<<(char value); BinaryStream& operator<<(std::byte value); + BinaryStream& operator<<(uint8_t value); BinaryStream& operator<<(int16_t value); BinaryStream& operator<<(uint16_t value); BinaryStream& operator<<(int32_t value);