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

v2.0 #34

Closed
iboB opened this issue Nov 4, 2019 · 0 comments
Closed

v2.0 #34

iboB opened this issue Nov 4, 2019 · 0 comments
Assignees

Comments

@iboB
Copy link
Owner

iboB commented Nov 4, 2019

It is time for v2.0 to address deficiencies in the current design.

Concrete things:

  • Use C++17 this is a long way into the future, so why not...
  • Allow standalone functions with first arg mixin to serve as message implementations #24
  • Allow renaming of message implementations #25
  • Improve exceptions #26
  • Better header structure
  • Improve design of public and private data for objects (no more #define internal public)
  • Mixin/Message domains – sets of mixins and messages that cannot be mixed. Will throw a runtime error when trying to combine certain mixins or messages.
  • Address serialization better
  • Allocator extension
  • Mixin class which holds information for mixin
  • Get implementers for msg as mixin ids
  • Allocators for absolutely everything
  • Allow onMutated private message
  • Compilation performance benchmarks
  • Logging and debug information prints
  • fuzzing
  • Package managers and cmake install
  • coverage
  • Optimize mutation process: less allocations. Design special mixin_collection for the process, that can be preallocated (or that uses a buffer that's allocated only once) and has reserve. Allow reuse of single_object_mutator.
  • Add a new mixin feature fact. Facts are static const variables in a mixin. No multicasts. No virtual tables.
  • Reflection. Call messages by string.
@iboB iboB added the v2.0 label Nov 4, 2019
@iboB iboB self-assigned this Nov 4, 2019
@iboB iboB closed this as completed in cb96f9d Mar 17, 2023
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