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.