remove bytereader/writer
This commit is contained in:
parent
29ccd43c7a
commit
ab981ee778
44
src/fs.hpp
44
src/fs.hpp
@ -149,48 +149,4 @@ private:
|
|||||||
BlocksBitmap m_blocks_bitmap = {};
|
BlocksBitmap m_blocks_bitmap = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ByteReader {
|
|
||||||
public:
|
|
||||||
template <typename Data>
|
|
||||||
ByteReader(const Data* data)
|
|
||||||
: m_data(reinterpret_cast<const u8*>(data)) {};
|
|
||||||
|
|
||||||
template <typename Data>
|
|
||||||
requires std::is_integral_v<Data>
|
|
||||||
auto operator>>(Data& v) -> ByteReader&
|
|
||||||
{
|
|
||||||
v = 0;
|
|
||||||
for (std::size_t i = 0; i < sizeof(Data); ++i) {
|
|
||||||
v |= *m_data << (sizeof(Data) - i - 1) * 8;
|
|
||||||
m_data++;
|
|
||||||
}
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
const u8* m_data;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ByteWriter {
|
|
||||||
public:
|
|
||||||
template <typename Data>
|
|
||||||
ByteWriter(Data* data)
|
|
||||||
: m_data(reinterpret_cast<u8*>(data)) {};
|
|
||||||
|
|
||||||
template <typename Data>
|
|
||||||
requires std::is_integral_v<Data>
|
|
||||||
auto operator>>(Data& v) -> ByteWriter&
|
|
||||||
{
|
|
||||||
v = 0;
|
|
||||||
for (std::size_t i = 0; i < sizeof(Data); ++i) {
|
|
||||||
*m_data = v >> (sizeof(Data) - i - 1) * 8 & 0xff;
|
|
||||||
m_data++;
|
|
||||||
}
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
u8* m_data;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user