Update TODOs

This commit is contained in:
Martchus 2018-01-21 19:44:33 +01:00
parent a2f9c915b6
commit 079534f301
2 changed files with 23 additions and 14 deletions

View File

@ -25,18 +25,19 @@ The basic functionality is implemented, tested and documented:
* allow to use Boost.Hana
### TODOs
There are still things missing which would likely be very useful in practise. The following list contains
the most important TODOs:
There are still things missing which would likely be very useful in practise. The following list contains the open TODOs which are supposed to be most relevant in practise:
* [ ] Allow to specify which member variables should be considered.
* This could work similar to Qt's Signals & Slots
* [ ] Allow to specify which member variables should be considered
* 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.
* [ ] Support getter/setter methods
* [ ] Allow to serialize the result of methods.
* [ ] Allow to pass a deserialized value to a method.
* [ ] Validate enum values when deserializing.
* [ ] Untie serialization and deserialization.
* [ ] Allow to serialize the result of methods
* [ ] Allow to pass a deserialized value to a method
* [ ] Validate enum values when deserializing
* [ ] Untie serialization and deserialization
For a full list of TODOs, see [TODOs.md](./TODOs.md).
## Supported datatypes
The following table shows the mapping of supported C++ types to supported JSON types:

View File

@ -5,17 +5,25 @@
- [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)
- [ ] Fix the massive number of warnings which are currently being created
- [ ] Test with libc++ (currently only tested with libstdc++)
- [ ] Support enums (undoable with Boost.Hana)
- [ ] Support templated classes
- [x] Allow making 3rdparty classes/structs reflectable
- [x] Add additional parameter for code generator to allow specifying relevant classes
explicitely
- [x] Fix traits currently relying on `JsonSerializable` being base class
- [x] Allow exporting symbols
- [ ] Allow (de)serialization of static members (by default?)
- [ ] Allow ignoring particular members
- [ ] Fix the massive number of warnings which are currently being created
- [ ] 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 specificly which member variables should be considered
* 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
## Library-only
- [x] Support `std::unique_ptr` and `std::shared_ptr`