5Stream::Stream() : m_endian(std::endian::big), m_index(0) {}
7Stream::~Stream() =
default;
9void Stream::skip(
u32 count) {
14void Stream::jump(
u32 index) {
23u16 Stream::read_u16() {
27u32 Stream::read_u32() {
31u64 Stream::read_u64() {
39s16 Stream::read_s16() {
43s32 Stream::read_s32() {
47s64 Stream::read_s64() {
51f32 Stream::read_f32() {
55f64 Stream::read_f64() {
59void Stream::write_u8(u8 val) {
63void Stream::write_u16(
u16 val) {
67void Stream::write_u32(
u32 val) {
71void Stream::write_u64(u64 val) {
75void Stream::write_s8(s8 val) {
79void Stream::write_s16(s16 val) {
83void Stream::write_s32(s32 val) {
87void Stream::write_s64(s64 val) {
91void Stream::write_f32(f32 val) {
95void Stream::write_f64(f64 val) {
99RamStream::RamStream() : m_buffer(nullptr), m_size(0) {}
101RamStream::RamStream(
const void *buffer,
u32 size) {
102 setBufferAndSize(
const_cast<void *
>(buffer), size);
105void RamStream::read(
void *output,
u32 size) {
106 u8 *buffer =
reinterpret_cast<u8 *
>(output);
107 for (
size_t i = 0; i < size; ++i) {
108 buffer[i] = m_buffer[m_index + i];
112void RamStream::write(
void *input,
u32 size) {
113 u8 *buffer =
reinterpret_cast<u8 *
>(input);
114 for (
size_t i = 0; i < size; ++i) {
115 m_buffer[m_index + i] = buffer[i];
120std::string RamStream::read_string() {
121 std::string ret(
reinterpret_cast<char *
>(m_buffer + m_index));
122 m_index += ret.size() + 1;
127void RamStream::setBufferAndSize(
void *buffer,
u32 size) {
128 m_buffer =
reinterpret_cast<u8 *
>(buffer);
A stream of data stored in memory.