8#include <VLA/Matrix.hpp>
42 requires std::is_arithmetic_v<T>
44 const auto bytes =
reinterpret_cast<const std::byte*
>(&value);
49 template<
typename T, usize N>
51 for (
const auto&
val :
arr) {
57 template<
typename T, usize N>
59 for (
const auto&
val :
arr) {
65 void write(
const std::string& value) {
66 write(
static_cast<u32>(value.size()));
67 const auto*
bytes =
reinterpret_cast<const std::byte*
>(&value[0]);
73 requires std::is_arithmetic_v<T>
76 for (
const auto&
val :
vec) {
83 const auto bytes =
static_cast<const std::byte*
>(data);
95 requires std::is_arithmetic_v<T>
105 template<
typename T, usize N>
114 template<
typename T, usize N>
128 std::string
str(
ptr, size);
135 requires std::is_arithmetic_v<T>
139 for (
u32 i = 0;
i < size; ++
i) {
Definition serialization.hpp:16
virtual void deserialize(Serializer &s)=0
virtual void serialize(Serializer &s) const =0
virtual ~Serializable()=default
Definition serialization.hpp:36
void write(T value)
Definition serialization.hpp:43
void write(const std::array< T, N > &arr)
Definition serialization.hpp:58
VLA::Matrix4x4f read()
Definition serialization.hpp:148
void read(T(&arr)[N])
Definition serialization.hpp:106
usize m_read_offset
Definition serialization.hpp:165
void read(Serializable &obj)
Definition serialization.hpp:145
std::span< std::byte > get_span() const
Definition serialization.hpp:161
void write(const std::vector< T > &vec)
Definition serialization.hpp:74
void write(const VLA::Matrix4x4f &m)
Definition serialization.hpp:91
void write(const std::string &value)
Definition serialization.hpp:65
usize get_written_size() const
Definition serialization.hpp:158
void write(const Serializable &obj)
Definition serialization.hpp:88
Serializer(std::vector< std::byte > &buffer)
Definition serialization.hpp:38
void SetOffset(usize offset)
Definition serialization.hpp:156
usize get_offset() const
Definition serialization.hpp:155
void read(std::vector< T > &vec)
Definition serialization.hpp:136
T read()
Definition serialization.hpp:96
std::string read_string()
Definition serialization.hpp:123
void write(const void *data, const usize size)
Definition serialization.hpp:82
void read(std::array< T, N > &arr)
Definition serialization.hpp:115
void reset_offset()
Definition serialization.hpp:154
void clear()
Definition serialization.hpp:159
void write(const T(&arr)[N])
Definition serialization.hpp:50
std::vector< std::byte > & m_buffer
Definition serialization.hpp:164
Definition Application.hpp:28
std::uint32_t u32
Definition types.hpp:15
constexpr T g_type_max
Definition types.hpp:21
std::size_t usize
Definition types.hpp:18