Commit Graph

13 Commits

Author SHA1 Message Date
86a577748e Allow direct serialization of iteratables 2017-11-18 00:28:24 +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
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
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
0520341411 Fix passing temporary to Reflector::push() 2017-10-28 18:29:15 +02: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
ad03afb1f2 Keep track of errors and fix usage of Boost.Hana
* Optionally save errors which occur during deserialization
  to allow error handling
* Don't operate on copies when using Boost.Hana
2017-10-28 15:50:16 +02:00
1b1d07ef8c Improve error handling
* Throw ParseResult when parsing error occurs
* Silence type mismatch or missing members for now
2017-10-27 20:59:08 +02:00
4a8ebc99a3 Rename Reflectable -> JSONSerializable
This allows to provide multiple independently
functional reflection features by simply using
different base classes for them.
2017-10-23 00:41:10 +02:00