9#include <VLA/Matrix.hpp>
43 requires std::is_arithmetic_v<T>
45 const auto bytes =
reinterpret_cast<const std::byte*
>(&value);
50 template<
typename T, USize N>
52 for (
const auto&
val :
arr) {
58 template<
typename T, USize N>
60 for (
const auto&
val :
arr) {
66 void write(
const std::string& value) {
67 write(
static_cast<U32>(value.size()));
68 const auto*
bytes =
reinterpret_cast<const std::byte*
>(&value[0]);
74 requires std::is_arithmetic_v<T>
77 for (
const auto&
val :
vec) {
84 const auto bytes =
static_cast<const std::byte*
>(data);
89 template<HasSerialize T>
91 serialize(*
this,
obj);
99 requires std::is_arithmetic_v<T>
109 template<
typename T, USize N>
118 template<
typename T, USize N>
132 std::string
str(
ptr, size);
139 requires std::is_arithmetic_v<T>
143 for (
U32 i = 0;
i < size; ++
i) {
149 template<HasDeserialize T>
151 deserialize(*
this,
obj);
Definition serialization.hpp:22
Definition serialization.hpp:24
Definition serialization.hpp:19
Definition Application.hpp:22
Definition serialization.hpp:38
void write(const std::array< T, N > &arr)
Definition serialization.hpp:59
VLA::Matrix4x4f read()
Definition serialization.hpp:155
void read(T(&arr)[N])
Definition serialization.hpp:110
void write(const T &value)
Definition serialization.hpp:44
std::span< std::byte > get_span() const
Definition serialization.hpp:168
void write(const std::vector< T > &vec)
Definition serialization.hpp:75
void write(const VLA::Matrix4x4f &m)
Definition serialization.hpp:95
void write(const std::string &value)
Definition serialization.hpp:66
Serializer(std::vector< std::byte > &buffer)
Definition serialization.hpp:39
USize get_written_size() const
Definition serialization.hpp:165
void write(const T &obj)
Definition serialization.hpp:90
void read(std::vector< T > &vec)
Definition serialization.hpp:140
T read()
Definition serialization.hpp:100
std::string read_string()
Definition serialization.hpp:127
void write(const void *data, const USize size)
Definition serialization.hpp:83
void SetOffset(USize offset)
Definition serialization.hpp:163
USize m_read_offset
Definition serialization.hpp:172
void read(std::array< T, N > &arr)
Definition serialization.hpp:119
void reset_offset()
Definition serialization.hpp:161
void clear()
Definition serialization.hpp:166
void read(T &obj)
Definition serialization.hpp:150
void write(const T(&arr)[N])
Definition serialization.hpp:51
USize get_offset() const
Definition serialization.hpp:162
std::vector< std::byte > & m_buffer
Definition serialization.hpp:171
consteval U64 type_id_of()
Definition type_id.hpp:6
std::uint32_t U32
Definition types.hpp:15
std::size_t USize
Definition types.hpp:18