Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODOs #1

Open
14 of 20 tasks
Martchus opened this issue Oct 24, 2017 · 0 comments
Open
14 of 20 tasks

TODOs #1

Martchus opened this issue Oct 24, 2017 · 0 comments
Assignees

Comments

@Martchus
Copy link
Owner

Martchus commented Oct 24, 2017

Reflection-related: requires extending generator

  • Test with (multiple) inheritance
  • Test multiple input files
  • Add appropriate error handling for de-serialization
  • 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
  • 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 alone but possibly https://github.com/Neargye/magic_enum helps)
  • Support templated classes
  • Allow making 3rdparty classes/structs reflectable
    • Add additional parameter for code generator to allow specifying relevant classes
      explicitely
    • Fix traits currently relying on JsonSerializable being base class
  • Allow exporting symbols
  • Allow (de)serialization of static members (by default?)
  • Allow ignoring particular members

Library-only

  • Support std::unique_ptr and std::shared_ptr
  • Support std::map and std::unordered_map
  • Support std::any
  • Support/document customized (de)serialization (eg. serialize some DateTime object to ISO string representation)
@Martchus Martchus self-assigned this Oct 24, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant