IDL to C++03 RFC


Published on

This presentation is about how to create a new IDL to C++03 specification. This was presented at the OMG March 2013 Berlin meeting where it was decided that adding IDL to C++03 should be merged into the existing IDL to C++11 language mapping and could be performed as part of a RTF.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

IDL to C++03 RFC

  1. 1. IDL to C++03 RFC Johnny Willemsen ( mars/2013-06-01
  2. 2. Background IDL to C++ language mapping has been created in the 90s • Difficult to use • Impossible to change IDL to C++11 language mapping has been adopted end of 2012 • Easy to use • State of the art • C++11 is not required to be used by the application code • A compiler supporting C++11 needed for the mapping Copyright © 20132
  3. 3. C++11 Compiler status GCC 4.6 and higher have full support Clang 3.2 and newer have full support Other compilers are behind • Intel C++ in progress • Embarcadero C++ claims full support but not tested yet • Microsoft and IBM have partial support • HP and Oracle are way behind Copyright © 20133
  4. 4. Migration to C++11 Users are slowly migrating to C++11. The users that have migrated are very pleased with it Lot of projects are tied to using C++03 and will take several more years to upgrade those • But they do want to use a modern IDL to C++ language mapping Copyright © 20134
  5. 5. IDL to C++03 A new IDL to C++03 language mapping • Start with the IDL to C++11 language mapping • Remove usage of optional C++11 features • Replace some C++11 constructs with C++03 constructs Fills the gap between IDL to C++ and IDL to C++11 Copyright © 20135
  6. 6. The process? IDL to C++03 can be created in a few ways • Fork IDL to C++11 and create a complete separate specification Easy for users Hard to maintain Would this be a RFC? • Extend IDL to C++11 to support more flavors of C++ Make some text optional for one C++ flavor Give alternate text Could this be done as part of a RTF, RFP, or RFC? Copyright © 20136
  7. 7. For example The OMG IDL unbounded string type is mapped to std::string. A bounded string type is mapped to a distinct type to differentiate from an unbounded string. This distinct type must deliver std::string semantics and support transparent conversion from bounded to unbounded and vice versa. [C++11] This conversion should include support for move semantics.[C++11] Copyright © 20137
  8. 8. Next steps Determine adequate process Wait until the IDL to C++11 V1.1 has been adopted Start doing some work! Copyright © 20138
  9. 9. Contact Copyright © 20139 Remedy IT Melkrijder 11 3861 SG Nijkerk (Gld) The Netherlands tel.: +31(0)88 053 0000 e-mail: website: Twitter: @RemedyIT Slideshare: RemedyIT