dynamix
dynamix copied to clipboard
v2.0
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...
- #24
- #25
- #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.