Martchus
9a6d550d8f
Apply clang-format/cmake-format
2023-02-03 13:34:19 +01:00
Martchus
5c7a6cba8c
Add default operator== to serializable classes
...
Otherwise derived classes cannot use add a default themselves. Maybe this
makes sense for more comparision operators. Note that I'm still testing the
usefulness. It already breaks when using multiple inheritane so maybe there
is a better way.
The operator is guarded by a version constraint because it is a C++20
feature.
2022-05-15 21:03:20 +02:00
Martchus
60d761f7ed
Pass version down to base classes in binary deserializer
...
So the behavior is consistent with readng members and with serialization.
It should be fine because if the base class is versioned it won't make a
difference but if it is versioned the version from the derived class can be
utilized.
2022-05-15 21:00:02 +02:00
Martchus
762540f5e5
Add support for `std::optional`
2022-05-07 18:40:37 +02:00
Martchus
44c6b8c609
Throw exception during binary deserialization when version is not supported
2021-07-25 19:19:02 +02:00
Martchus
13428667f8
Remove surplus space
2021-07-25 19:13:29 +02:00
Martchus
0a902ac30c
Add experimental versioning for binary (de)serializer
2021-07-13 00:37:05 +02:00
Martchus
5e72012ed5
Fix typos found via `codespell --skip .git -w`
2021-07-03 19:50:25 +02:00
Martchus
2f1098ae3d
Make m_pointer of BinarySerializer and BinaryDeserializer private
2020-01-12 00:50:30 +01:00
Martchus
717fb2f037
Polish lib/binary/reflector.h
2019-12-27 01:42:34 +01:00
Martchus
e29db0fa87
Prevent warnings about unused lambda captures
2019-11-03 22:37:19 +01:00
Martchus
c3dc381425
Support `std::variant`
2019-11-03 22:02:56 +01:00
Martchus
8cac133104
Adapt to changes in c++utilities
2019-06-10 22:46:06 +02:00
Martchus
dd174920fe
Adapt to c++utilities v5
2019-05-04 16:09:58 +02:00
Martchus
9b80d662bb
Catch polymorphic type by reference
2019-04-19 22:24:32 +02:00
Martchus
2b0acbdd1e
Cast pointer to the right type on non 64-bit architectures
...
That could explain why the tests sometimes fail under armv7l (before
making the fix for big pointer IDs).
2019-03-08 17:44:20 +01:00
Martchus
04852627b2
Fix binary serializiation of shared_ptr too big for variable length encoding
...
* Retain backward compatibility by using either variable length int
or regular 64-bit int extending the flags
* Add test for both cases
2019-03-08 17:40:08 +01:00
Martchus
d64174c000
Add experimental support for multimap
...
Makes sense for binary (de)serialization, not sure about
JSON (de)serialization
2018-11-01 04:54:46 +00:00
Martchus
25e7891573
Apply clang-format
2018-06-26 00:10:44 +02:00
Martchus
da56134456
binary (de)serialization: Prevent duplicating shared pointer
2018-06-26 00:10:09 +02:00
Martchus
6117ef3e1d
Rename functions of BinarySerializable
...
So the names are more like the ones in JsonSerializable.
2018-06-23 17:24:28 +02:00
Martchus
04dccdbd74
Make binary (de)serialization for chrono utils inline
2018-06-23 17:23:37 +02:00
Martchus
ac1fe81497
Add Boost.Hana support for binary (de)serialization
2018-06-23 15:30:51 +02:00
Martchus
316c1ba838
Add library for basic binary (de)serialization
2018-06-23 14:35:43 +02:00