Roadmap
opC++ Beta
Status
opC++ Beta includes:
- Windows compiler
- Windows Visual Studio addin
- opC++ Standard Dialect
- Linux compiler
Dialects
Dialect support adds a full additional phase to c++ compiling.
Dialects allow you to extend c++ through modifiers and categories,
as well as setting up code generators based on modifiers.
- add additional categories to c++ besides class and struct.
- add custom modifiers to c++ through category definitions.
- add generated mappings based on compiler metadata, categories, and modifiers.
- setup feature dialects to organize and share your extensions.
- add generated custom initialization.
Generation Methods
opC++ provides a few simple methods for controlling code generation.
basic methods:
- notes - generate standalone code snippets upon category use.
- maps - generate per member code snippets with modifier filtering upon category use.
- disallows - setup code guidelines using criteria expressions.
advanced:
- extension points - inject new code into named locations in a dialect.
Possibilities
opC++ Beta will open up the following programming styles:
- custom meta-object protocol generation
- custom meta-data provider objects
- features by category
- automatic class registrations
- automatic feature registrations
- custom enumeration types
- custom initialization styles
Version 1.0
Version 1.0 will add the following:
- transform maps
- custom output locations
- allows
- full documentation
- stability
Transform Maps
Transform maps let you alter types and names of members.
It will allow you to do basic transforms based on modifiers.
Transform maps will allow:
- name changing/mangling
- type wrapping
- basic function and data transforms
Transform maps will open the following programming styles:
- custom garbage collection
- custom type safety and automatic type wrapping
- c++ delegates
Custom Output Locations
Custom output locations allow you to write notes to specified files.
These files could be xml, c++, or any textual file.
Custom Output Locations will open the following programming styles:
- generated scripting language bindings and stubs.
- generated custom documentation, data files.
Allows
Allows let you override disallows for certain cases.
Version 1.X+
Version 1.X and beyond will potentially add the following:
- nested map notes (generate more notes per member)
- additional add-in syntax highlighting
- optional c++ extensions
- portability features
- better source support
- optional game related features
- conditional generation
- strong type checking
- strong name checking
Nested Map Notes
Nested Map Notes allow you to generate multiple notes per member in a map.
Nested Map Notes will open the following possibilities:
- Ability to decrease reliance on templates.
- Ability to generate conditional notes within maps.