diff --git a/README.md b/README.md index 1089647..92f5f51 100644 --- a/README.md +++ b/README.md @@ -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: diff --git a/TODOs.md b/TODOs.md index c8a05c3..a6bf735 100644 --- a/TODOs.md +++ b/TODOs.md @@ -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`