Martchus
c3dc381425
Support `std::variant`
2019-11-03 22:02:56 +01:00
Martchus
dd652b4de7
Apply CMake format
2019-10-12 19:04:17 +02:00
Martchus
7e5a32265d
Add CLI help and completion for binary generator
2019-10-05 01:36:21 +02:00
Martchus
00dd569869
Update/improve README.md
2019-10-05 01:31:38 +02:00
Martchus
d8e626d259
Fix toJsonDocument() for maps
2019-10-05 01:05:48 +02:00
Martchus
d7e7bdb703
Add std::optional to TODOs
2019-08-09 17:59:00 +02:00
Martchus
fecde7d2d1
Improve adding RapidJSON include dirs to tests
...
* Also check for `RapidJSON_INCLUDE_DIRS` which seems to be used now
* Do not add `-I` without subsequent path if the include directory
is missing/empty which would lead to the Clang error:
`error: unable to handle compilation, expected exactly one compiler job in ''`
2019-08-09 17:54:08 +02:00
Martchus
f21f255e94
Don't use the same enum names twice
...
Prevents
```
[ 168s] /home/abuild/rpmbuild/BUILD/reflective-rapidjson-1563638877.5f7c18b/lib/tests/jsonreflector.cpp:41:12: warning: type 'SomeEnumClass' violates the C++ One Definition Rule [-Wodr]
[ 168s] 41 | enum class SomeEnumClass {
[ 168s] | ^
[ 168s] /home/abuild/rpmbuild/BUILD/reflective-rapidjson-1563638877.5f7c18b/lib/tests/binaryreflector.cpp:39:12: note: a type with different precision is defined in another translation unit
[ 168s] 39 | enum class SomeEnumClass : std::uint16_t {
[ 168s] | ^
```
observed in LTO-enabled builds
2019-08-09 17:48:08 +02:00
Martchus
8394c145f6
Update version
2019-08-05 20:27:21 +02:00
Martchus
5f7c18b59e
Set project() on top-level
...
See https://github.com/Martchus/cpp-utilities/pull/15
2019-07-20 18:07:57 +02:00
Martchus
8f06bf0272
Do not call vector::reserve() in loop
2019-06-20 22:54:17 +02:00
Martchus
a2b40753c3
Adapt adding include dirs to c++utilities 5
2019-06-20 22:53:03 +02:00
Martchus
6542eab80d
Adapt to changes in c++utilities
2019-06-14 19:16:51 +02:00
Martchus
8cac133104
Adapt to changes in c++utilities
2019-06-10 22:46:06 +02:00
Martchus
2194000938
Apply cmake-format 0.5.1
2019-06-01 12:16:27 +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
669aa16479
Fix building against LLVM/Clang 8
2019-03-27 14:41:57 +01: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
0bf19df0d9
Add explicit test for type mismatch on binary serialization
2019-03-08 17:40:36 +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
b058e9e9b9
Fix include for "empty" case in generator tests
2019-02-13 11:39:09 +01:00
Martchus
1f6fade6c2
Apply cmake-format
2019-02-09 21:25:11 +01:00
Martchus
39dcba215e
Let CMake generate code for test application
2019-01-13 22:27:35 +01:00
Martchus
974c0b0396
Allow to obtain only the JSON document
...
So the final serialization can be customized
2018-11-11 22:55:59 +01:00
Martchus
ef27d71f43
Fix multiple definition error caused by forward declarations
2018-11-08 00:38:45 +01:00
Martchus
712eb4fb28
Fix compiling with GCC
...
Template specializations produced by the macros apparently
must be in the same namespace for GCC (not sure whether this
is actually enforced by the standard).
2018-11-01 04:54:46 +00:00
Martchus
7e649fe2bf
Require c++utilities 4.16.0
2018-11-01 04:54:46 +00: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
f77229471a
Allow to teat custom types as std::map/std::set
2018-11-01 04:54:46 +00:00
Martchus
98b25c813e
Update README.md
2018-11-01 04:54:33 +00:00
Martchus
40b85b411e
Bump version 0.0.5 => 0.0.6
2018-11-01 04:54:24 +00:00
Martchus
aa92cab4e5
Test pointer handling of binary serialization
2018-10-28 21:35:32 +01:00
Martchus
5835cd85a5
Remove unused createFileIDForMemBuffer()
2018-09-04 19:39:32 +02:00
Martchus
933d14ef1d
Check whether include dirs for generator exist at configure time
2018-08-04 15:22:32 +02:00
Martchus
29cd810507
Use C++ standard from target in CMake macro
2018-07-27 17:40:15 +02:00
Martchus
7fcbead8e3
Escape angle brackets in README
2018-07-22 20:51:54 +02: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
f140c7f436
Use C++ 17
2018-06-26 00:07:59 +02:00
Martchus
c170993392
Reduce code duplication between serialization generators
2018-06-23 18:04:30 +02:00
Martchus
e93be04e35
Implement generator for binary (de)serialization
...
Still need to refactor common code with the JSON generator.
2018-06-23 17:25:30 +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
9dc7bd371c
Apply clang-format
2018-06-23 14:35:53 +02:00
Martchus
316c1ba838
Add library for basic binary (de)serialization
2018-06-23 14:35:43 +02:00
Martchus
551ead193e
Update patch version to 0.0.5
2018-05-08 18:53:21 +02:00
Martchus
8628427e6d
Fix usage of enable_if with GCC 8
...
Seems like the trick with the three dots isn't working
with GCC 8 anymore. So let's make it a default template
parameter then.
Not sure whether GCC 8 is here correct and whether this
workaround causes further trouble.
2018-05-07 23:48:37 +02:00
Martchus
36463cd6dc
Apply clang-format from LLVM 6
2018-04-04 20:31:49 +02:00