OpenDDS Support for IDL-to-C++11
The latest in-development OpenDDS version now optionally uses the OMG IDL-to-C++11 specification for generating C++ code from the IDL you write for defining DDS Topic data types.
The IDL-to-C++11 spec is available here (we are using v1.4) if you’d like to see all the details, but the main differences are:
- C++ standard library’s string, array, and vector types are used for IDL string, array, and sequence
- C++11 scoped enums are used for IDL enums
- IDL structs and unions are translated to C++ classes with accessor/mutator functions
Note that IDL files processed using this new mapping cannot include IDL files that are processed with the default mapping.
There is a full example in the repository. To give it a try, clone the OpenDDS git repository (master branch) and
configure it with --ace-github-latest
in addition to any options you
normally use.
If there are any issues please let us know on the mailing list or using a GitHub Issue or Pull Request. Complete documentation of this feature will be in the next version of the OpenDDS Developer’s Guide.