What is SeriStruct? It’s a super lightweight mechanism for streaming a complex structure of data to or from bytes (either an in-memory buffer or a stream). This allows for quick transport of data across whatever medium you desire without requiring complex serialization/deserialization functionality (i.e. contrastd with something like Protobuf). Of course that comes with other limitations, mostly because this was a pet project and not meant for full productionized code. For the most part, it only supports basic data types, strings, and a couple extras like
std::optional (essentially types that could have a known size at compile time).
I don’t know if I’ll actually use this for anything, but it was still fun to write, and it gave me some much-needed practice with test driven development. The code includes almost 40 unit tests, about 90% of which were written before the code they test.