Releases: KonanM/tser
Base class serialization and QOL features
With this release I covered some more use cases, namely the serialization of base classes and I added some convience features.
struct Object : public Point
{
int idx = 0;
DEFINE_SERIALIZABLE(Object, tser::base<Point>(this), idx)
}
The first convience feature is being able to directly initialize a BinaryArchive<T>(t)
with an object.
The second one to a load an object directly in one line using auto t = tser::load<T>("base64EncodedString")
.
Furthermore the tests for the base64encoding were improved and now cover all possible input values.
v1.1
It was requested by PR 5 to only include only <ostream>
instead of <iostream>
for embedded projects, which totally makes sense. This means you have to include iostream yourself when using std::cout
with tser.
Thanks to PR 6 the project is now correctly installable, namespaced and better consumable as CMake project.
Thanks to a nice PR 7 some UB with regards to shifting signed integers was fixed and much better tests added for the varint encoding. This caught also a rare bug that occured when the BinaryArchive buffer was not correctly resized with a bigger than 8 byte varint. On top of that you can now have spaces in the DEFINE_SERIALIZABLE
macro.