reflective-rapidjson/TODOs.md

34 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2017-11-02 15:15:29 +01:00
## Reflection-related: requires extending generator
- [x] Test with (multiple) inheritance
- [x] Test multiple input files
- [x] Add appropriate error handling for de-serialization
- [x] Add reflector based on Boost.Hana
- [ ] Add another generator to prove expandability: maybe for getting members by name in general, similar to one of the proposals
- [x] Add documentation (install instructions, usage)
2017-11-07 00:28:41 +01:00
- [x] Allow making 3rdparty classes/structs reflectable
- [x] Add additional parameter for code generator to allow specifying relevant classes
explicitly
2017-11-07 00:28:41 +01:00
- [x] Fix traits currently relying on `JsonSerializable` being base class
- [x] Allow exporting symbols
- [x] Fix the massive number of warnings which are currently being created by the code generator (missing `-resource-dir` was the problem)
2018-01-21 19:44:33 +01:00
- [ ] Test with libc++ (currently only tested with libstdc++)
- [ ] Support templated classes
- [ ] Allow (de)serialization of static members (if that makes sense?)
- [ ] Allow ignoring particular members or selecting specifically which member variables should be considered
2018-01-21 19:44:33 +01:00
* This could work similar to Qt's Signals & Slots macros.
* but there should also be a way to do this for 3rdparty types.
* Note that currently, *all* public member variables are (de)serialized.
- [ ] Allow using getter and setter methods
* [ ] Allow to serialize the result of methods.
* [ ] Allow to pass a deserialized value to a method.
* [ ] Validate enum values when deserializing
* Likely undoable with Boost.Hana
* [ ] Untie serialization and deserialization
2017-11-02 15:15:29 +01:00
## Library-only
2017-11-12 21:09:45 +01:00
- [x] Support `std::unique_ptr` and `std::shared_ptr`
- [x] Support `std::map` and `std::unordered_map`
2017-11-02 15:15:29 +01:00
- [ ] Support `std::any`
2019-08-09 17:59:00 +02:00
- [ ] Support `std::optional`
2017-11-07 00:28:41 +01:00
- [x] Support/document customized (de)serialization (eg. serialize some `DateTime` object to ISO string representation)