Commit Graph

29 Commits

Author SHA1 Message Date
272ec99bb0 Allow parsing any number as any kind of integral/floating point
Makes sense because JSON does not distinguish different kinds of
numbers anyways
2017-12-24 02:12:01 +01:00
0bb06d5190 Ensure all pull helper are declared prior to the call site 2017-12-24 00:57:08 +01:00
ec66f14e4c Just use IsNumber() to check for numbers
Otherwise deserializing doubles does not work
when there's no explicit decimal point in the
JSON file.
2017-12-22 20:44:04 +01:00
489d4c71c0 Fix typo 2017-12-22 20:31:48 +01:00
29b39bc7bc Use uint64/int64 to serialize enums
Otherwise, enums using char as underlying types
can not not be serialized.
2017-12-22 20:30:55 +01:00
9a2c2cfef6 Deserialize enums as well 2017-12-22 20:30:01 +01:00
86a577748e Allow direct serialization of iteratables 2017-11-18 00:28:24 +01:00
add8ddaeec Apply clang-format 2017-11-17 22:04:11 +01:00
d5144d8e75 Restore GCC compatibility 2017-11-16 01:56:04 +01:00
a7f587cb84 Support std::map and std::unordered_map 2017-11-13 20:16:43 +01:00
f24390a00b Support smart pointer 2017-11-12 23:18:01 +01:00
ce89e3d878 Only include required Boost.Hana headers 2017-11-12 20:13:17 +01:00
61a343bda1 Refactor redundant type checks 2017-11-12 20:07:43 +01:00
e9324f0ec3 Fix incomplete use of AdaptedJsonSerializable and handling tuple 2017-11-12 00:44:47 +01:00
0d74d915f8 Allow optionally (de)serializing private members 2017-11-09 01:11:00 +01:00
062f8c0d27 Allow enabling (de)serialization for 3rd party structs 2017-11-06 23:27:27 +01:00
516f80b325 Use "is_base_of"-trait also for pushing objects 2017-11-04 15:16:05 +01:00
f212fc8de7 Prevent overflow on size type conversion 2017-11-04 15:15:12 +01:00
a4fac7c515 Further simplify JSON reflector 2017-11-04 02:33:34 +01:00
4dbb5a3982 Prevent code duplication for iterator variants of pull() 2017-11-03 23:00:15 +01:00
423d9ee393 Move all helper functions inside JsonReflector namespace 2017-11-03 22:42:18 +01:00
76a8f649bc Add example for custom (de)serialization 2017-11-03 17:45:16 +01:00
daf1a8602c Rename Reflector -> JsonReflector
So helper methods for other applications of reflections
would go into a separate namespace to prevent conflicts.
2017-11-02 23:35:56 +01:00
407de04d91 Allow deserializing tuples 2017-10-29 22:53:02 +01:00
d849144504 Allow serializing tuples 2017-10-29 22:14:04 +01:00
5e95127185 Exclude tuple from the types considered 'user defined' 2017-10-29 21:41:18 +01:00
ae3d8030b6 Allow serializing enums
Note that deserializing is not so simple because
we would need to check whether the integer actually
is an item of the expected enumeration type.
2017-10-29 21:31:23 +01:00
104e362762 Imporve documentation and build script 2017-10-28 18:24:12 +02:00
c94c896f6c Refactor RapidJSON wrapper
* Move all JSON related files into own directory
* Move helper for error handling in own header
* Remove some leftovers from debugging
* Rename classes, use Json instead of JSON
2017-10-28 16:23:39 +02:00