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
|
2021-07-03 19:50:25 +02:00
|
|
|
explicitly
|
2017-11-07 00:28:41 +01:00
|
|
|
- [x] Fix traits currently relying on `JsonSerializable` being base class
|
2017-11-11 12:37:24 +01:00
|
|
|
- [x] Allow exporting symbols
|
2018-02-03 15:44:10 +01:00
|
|
|
- [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?)
|
2021-07-03 19:50:25 +02:00
|
|
|
- [ ] 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`
|
2017-11-13 20:16:43 +01:00
|
|
|
- [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)
|