view src/core/byte_stream.cc @ 368:6d37a998cf91

gui/dialog: consolidate win32 dark theme cruft into a single class
author Paper <paper@tflc.us>
date Fri, 25 Jul 2025 10:05:23 -0400
parents 99c961c91809
children 47c9f8502269
line wrap: on
line source

#include "core/byte_stream.h"

ByteStream::ByteStream(std::uint8_t *bytes, std::size_t size) {
	bytes_ = bytes;
	size_ = size;
}

void ByteStream::ResetOffset() {
	offset_ = 0;
}

void ByteStream::SetEndianness(ByteStream::ByteOrder endian) {
	endian_ = endian;
}

bool ByteStream::ReadString(std::string& str, std::size_t size) {
	if (offset_ + size >= size_)
		return false;

	str.assign(reinterpret_cast<const char *>(bytes_ + offset_), size);
	Advance(size);
	return true;
}

bool ByteStream::Advance(std::size_t amount) {
	if (offset_ + amount >= size_)
		return false;

	offset_ += amount;
	return true;
}