SlideShare a Scribd company logo
1 of 15
Download to read offline
IDL to C++11
                   Revised submission

                      OMG document mars/2012-03-32




Copyright © 2012                                     Page 1
Document numbers

         mars/12-03-05 (Updated IDL to C++11 Language Mapping
         revised submission with errata applied - changebar)
         mars/12-03-06 (Updated IDL to C++11 Language Mapping
         revised submission with errata applied - clean)
         mars/12-03-07 (Errata)
         mars/12-03-08 (Revised submission - inventory file)
         mars/12-01-02 (IDL to C++1 Language Mapping revised
         submission)




Copyright © 2012                                                Page 2
RFP asks for

        The new mapping should be functionally equivalent to the existing
        IDL to C++ mapping. While the syntax may change, an application
        should be able to implement functionality identical to that which can
        be achieved with the current IDL to C++ mapping.
        Applications programmed using alternative language mappings
        should inter operate transparently. An application utilizing this new
        language mapping should have no awareness, other than
        informational, of what language mapping a peer application is using.
        The new language mapping should be designed to co-exist with
        other technologies. Specifically, it should not interfere with the
        namespaces used by other OMG specifications, or commonly used
        packages.
        Interoperability between the IDL to C++ and IDL to C++11 mapping
        in the same compilation unit is not required.
Copyright © 2012                                                          Page 3
C++11

        C++11 was unanimously approved August 12 th
        2011
        Is now formally available as ISO/IEC 14882:2011




Copyright © 2012                                      Page 4
Goal of IDL to C++11

        Simplified mapping for C++11
        Make use of the new C++11 features to
          –   Gain performance
          –   Reduce coding errors
          –   Reduce amount of code
          –   No need to create conversion between STL/C++
              types and IDL based types




Copyright © 2012                                             Page 5
Enum mapping

        IDL enum is mapped to the new C++11 enum
        class
  // IDL
  enum Color { red, green, blue };


  // C++
  enum class Color : uint32_t { red, green, blue };




Copyright © 2012                                      Page 6
C++11 type mapping

        Map basic types to their C++ counterparts
        IDL (w)string maps to std::(w)string
        IDL sequence maps to std::vector
        IDL array maps to std::array
        IDL fixed maps to CORBA::Fixed




Copyright © 2012                                    Page 7
Reference types

        Reference types are used for
          –   Object reference
          –   Valuetypes
          –   Typecodes
        Strong references behave as std::shared_ptr
        Weak references behave as std::weak_ptr
        References can only be created using
        CORBA::make_reference<>
        No C++ pointers can be passed to the API
Copyright © 2012                                      Page 8
Client interface mapping

        When defining interface Foo, than
        CORBA::object_traits<Foo>::ref_type (aka
        CORBA::object_reference<Foo>, aka
        Foo::_ref_type) is the object reference type
        C++ traits are used to determine types, no
        naming rules to be remembered by the user
        Narrowing using the narrow method (with
        CORBA could trigger a remote call)



Copyright © 2012                                       Page 9
Servant interface mapping

        When defining interface Foo, than
        CORBA::servant_traits<Foo>::base_type is the
        base class for the user servant class
        Servant references are available as
        CORBA::servant_traits<Foo>::ref_type (aka
        CORBA::servant_reference<Foo>)
        C++ traits are used to determine types, no
        naming rules to be remembered by the user



Copyright © 2012                                       Page 10
Nil references

        C++11 has a new type for a nil pointer: nullptr_t
        References can be checked for nil by
        comparing them with nullptr
        Explicit bool conversion operators for usage in
        for example if statements




Copyright © 2012                                            Page 11
Argument passing



        Argument passing for   Argument passing for
        basic types, and       complex types:
        reference types
          –   in: T            –   in: const T&
          –   inout: T&        –   inout: T&
          –   out: T&          –   out: T&
          –   return: T        –   return: T


Copyright © 2012                                      Page 12
Struct/union

         Struct and union now both map to a C++ class
         Providing constructor(s), copy and move
         operators
         Set of accessors for each member:
      void A (T);              void A (const T&);
      T A (void) const;        void A (T&&);
      T& A (void);             const T& A (void) const;
                               T& A (void);

Copyright © 2012                                          Page 13
Proof of concept

        New language binding for TAO: IDL2C++11
        Delivers new IDL compiler
        Adds support libraries to use TAO with C++11
        More details on http://osportal.remedy.nl and
        http://www.orbzone.org




Copyright © 2012                                        Page 14
Next steps



        Vote 2 Vote
        AB
        FTF phase




Copyright © 2012                   Page 15

More Related Content

What's hot

C language myths & secrets
C language myths & secretsC language myths & secrets
C language myths & secretsankush1510
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programmingAlpana Gupta
 
PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorEmmanuel Fuchs
 
1. over view and history of c
1. over view and history of c1. over view and history of c
1. over view and history of cHarish Kumawat
 
Guidance, Please! Towards a Framework for RDF-based Constraint Languages.
Guidance, Please! Towards a Framework for RDF-based Constraint Languages.Guidance, Please! Towards a Framework for RDF-based Constraint Languages.
Guidance, Please! Towards a Framework for RDF-based Constraint Languages.Kai Eckert
 
C & C++ Training in Ambala ! BATRA COMPUTER CENTRE
C & C++ Training in Ambala ! BATRA COMPUTER CENTREC & C++ Training in Ambala ! BATRA COMPUTER CENTRE
C & C++ Training in Ambala ! BATRA COMPUTER CENTREjatin batra
 
Introduction to C Language
Introduction to C LanguageIntroduction to C Language
Introduction to C LanguageKamal Acharya
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์wichaikraisorn
 
Introduction to COBOL Programming Language
Introduction to COBOL Programming LanguageIntroduction to COBOL Programming Language
Introduction to COBOL Programming LanguageJessieBenson1
 
C programming slide day 01 uploadd by md abdullah al shakil
C programming slide day 01 uploadd by md abdullah al shakilC programming slide day 01 uploadd by md abdullah al shakil
C programming slide day 01 uploadd by md abdullah al shakilZenith SVG
 
ITU - MDD - Textural Languages and Grammars
ITU - MDD - Textural Languages and GrammarsITU - MDD - Textural Languages and Grammars
ITU - MDD - Textural Languages and GrammarsTonny Madsen
 
Theory of programming
Theory of programmingTheory of programming
Theory of programmingtcc_joemarie
 

What's hot (20)

C language myths & secrets
C language myths & secretsC language myths & secrets
C language myths & secrets
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal Generator
 
1. over view and history of c
1. over view and history of c1. over view and history of c
1. over view and history of c
 
Guidance, Please! Towards a Framework for RDF-based Constraint Languages.
Guidance, Please! Towards a Framework for RDF-based Constraint Languages.Guidance, Please! Towards a Framework for RDF-based Constraint Languages.
Guidance, Please! Towards a Framework for RDF-based Constraint Languages.
 
C & C++ Training in Ambala ! BATRA COMPUTER CENTRE
C & C++ Training in Ambala ! BATRA COMPUTER CENTREC & C++ Training in Ambala ! BATRA COMPUTER CENTRE
C & C++ Training in Ambala ! BATRA COMPUTER CENTRE
 
Introduction to C Language
Introduction to C LanguageIntroduction to C Language
Introduction to C Language
 
C++ vs python
C++ vs pythonC++ vs python
C++ vs python
 
C Programming Language
C Programming LanguageC Programming Language
C Programming Language
 
COBOL Foundation 2
COBOL Foundation 2COBOL Foundation 2
COBOL Foundation 2
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 
History of c++
History of c++ History of c++
History of c++
 
4.languagebasics
4.languagebasics4.languagebasics
4.languagebasics
 
Introduction to COBOL Programming Language
Introduction to COBOL Programming LanguageIntroduction to COBOL Programming Language
Introduction to COBOL Programming Language
 
COBOL Foundation 1
COBOL Foundation 1COBOL Foundation 1
COBOL Foundation 1
 
C programming slide day 01 uploadd by md abdullah al shakil
C programming slide day 01 uploadd by md abdullah al shakilC programming slide day 01 uploadd by md abdullah al shakil
C programming slide day 01 uploadd by md abdullah al shakil
 
ITU - MDD - Textural Languages and Grammars
ITU - MDD - Textural Languages and GrammarsITU - MDD - Textural Languages and Grammars
ITU - MDD - Textural Languages and Grammars
 
CORBA
CORBACORBA
CORBA
 
Theory of programming
Theory of programmingTheory of programming
Theory of programming
 
C language part 1
C language part  1C language part  1
C language part 1
 

Viewers also liked

UCM Initial Submission presentation
UCM Initial Submission presentationUCM Initial Submission presentation
UCM Initial Submission presentationRemedy IT
 
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...Remedy IT
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...Remedy IT
 
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...Remedy IT
 
OMG D&C 5 initial presentation
OMG D&C 5 initial presentationOMG D&C 5 initial presentation
OMG D&C 5 initial presentationRemedy IT
 
LinkedIn Recruiter Engagement Plan and Webinar Schedule
LinkedIn Recruiter Engagement Plan and Webinar ScheduleLinkedIn Recruiter Engagement Plan and Webinar Schedule
LinkedIn Recruiter Engagement Plan and Webinar ScheduleTatjana Andreano
 
Linkedin 7 Tricks for an Irresistible Job Description
Linkedin 7 Tricks for an Irresistible Job DescriptionLinkedin 7 Tricks for an Irresistible Job Description
Linkedin 7 Tricks for an Irresistible Job DescriptionTatjana Andreano
 
Linked in talent pool report students
Linked in talent pool report studentsLinked in talent pool report students
Linked in talent pool report studentsTatjana Andreano
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters MostRemedy IT
 
DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialDDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialRemedy IT
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsRemedy IT
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsRemedy IT
 
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...Remedy IT
 
ACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overviewACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overviewRemedy IT
 
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...Remedy IT
 
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11Remedy IT
 
AMI4CCM revised submission presentation
AMI4CCM revised submission presentationAMI4CCM revised submission presentation
AMI4CCM revised submission presentationRemedy IT
 
CCM5 RTWS 2012
CCM5 RTWS 2012CCM5 RTWS 2012
CCM5 RTWS 2012Remedy IT
 

Viewers also liked (20)

UCM Initial Submission presentation
UCM Initial Submission presentationUCM Initial Submission presentation
UCM Initial Submission presentation
 
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
Remedy IT Initial Submission for the Unified Component Model (UCM) for Distri...
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
 
New Learning Center Guide
New Learning Center GuideNew Learning Center Guide
New Learning Center Guide
 
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
Revised submission for Unified Component Model (UCM) for Distributed, Real-Ti...
 
OMG D&C 5 initial presentation
OMG D&C 5 initial presentationOMG D&C 5 initial presentation
OMG D&C 5 initial presentation
 
LinkedIn Recruiter Engagement Plan and Webinar Schedule
LinkedIn Recruiter Engagement Plan and Webinar ScheduleLinkedIn Recruiter Engagement Plan and Webinar Schedule
LinkedIn Recruiter Engagement Plan and Webinar Schedule
 
Linkedin 7 Tricks for an Irresistible Job Description
Linkedin 7 Tricks for an Irresistible Job DescriptionLinkedin 7 Tricks for an Irresistible Job Description
Linkedin 7 Tricks for an Irresistible Job Description
 
Linked in talent pool report students
Linked in talent pool report studentsLinked in talent pool report students
Linked in talent pool report students
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters Most
 
DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialDDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorial
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
 
Modernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standardsModernizing SCA through new Object Management Group (OMG) standards
Modernizing SCA through new Object Management Group (OMG) standards
 
A Story in Many (creative commons) Pictures
A Story in Many (creative commons) PicturesA Story in Many (creative commons) Pictures
A Story in Many (creative commons) Pictures
 
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
Unified Component Model for Distributed, Real- Time and Embedded Systems Requ...
 
ACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overviewACE/TAO/CIAO/DAnCE Maintenance overview
ACE/TAO/CIAO/DAnCE Maintenance overview
 
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
Remedy IT Revised Submission Presentation for the Unified Component Model (UC...
 
Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11Comparing IDL to C++ with IDL to C++11
Comparing IDL to C++ with IDL to C++11
 
AMI4CCM revised submission presentation
AMI4CCM revised submission presentationAMI4CCM revised submission presentation
AMI4CCM revised submission presentation
 
CCM5 RTWS 2012
CCM5 RTWS 2012CCM5 RTWS 2012
CCM5 RTWS 2012
 

Similar to IDL to C++11 revised submission presentation

CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialRemedy IT
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialRemedy IT
 
AMI4CCM_IDL2CPP
AMI4CCM_IDL2CPPAMI4CCM_IDL2CPP
AMI4CCM_IDL2CPPRemedy IT
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBAPeter R. Egli
 
IDL to C++03 RFC
IDL to C++03 RFCIDL to C++03 RFC
IDL to C++03 RFCRemedy IT
 
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDSComponent Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDSRemedy IT
 
What is c#
What is c#What is c#
What is c#shwet18
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachRemedy IT
 
Integrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component ApproachIntegrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component ApproachReal-Time Innovations (RTI)
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachRemedy IT
 
C and C ++ Training in Ambala ! BATRA COMPUTER CENTRE
C and C ++ Training in Ambala ! BATRA COMPUTER CENTREC and C ++ Training in Ambala ! BATRA COMPUTER CENTRE
C and C ++ Training in Ambala ! BATRA COMPUTER CENTREjatin batra
 
Reasons to migrate from Delphi 7 to Delphi 2009
Reasons to migrate from Delphi 7 to Delphi 2009Reasons to migrate from Delphi 7 to Delphi 2009
Reasons to migrate from Delphi 7 to Delphi 2009Michael Findling
 
Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Remedy IT
 
Reasons to migrate from Delphi 7 to Delphi 2009
Reasons to migrate from Delphi 7  to Delphi 2009Reasons to migrate from Delphi 7  to Delphi 2009
Reasons to migrate from Delphi 7 to Delphi 2009Michael Findling
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Maarten Balliauw
 
c programming, internshala training , govt engineering college aurangabad
c programming, internshala training , govt engineering college aurangabadc programming, internshala training , govt engineering college aurangabad
c programming, internshala training , govt engineering college aurangabadPysh1
 

Similar to IDL to C++11 revised submission presentation (20)

CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
 
AMI4CCM_IDL2CPP
AMI4CCM_IDL2CPPAMI4CCM_IDL2CPP
AMI4CCM_IDL2CPP
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 
IDL to C++03 RFC
IDL to C++03 RFCIDL to C++03 RFC
IDL to C++03 RFC
 
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDSComponent Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDS
 
C Course Material0209
C Course Material0209C Course Material0209
C Course Material0209
 
What is c#
What is c#What is c#
What is c#
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
 
Integrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component ApproachIntegrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component Approach
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
 
C and C ++ Training in Ambala ! BATRA COMPUTER CENTRE
C and C ++ Training in Ambala ! BATRA COMPUTER CENTREC and C ++ Training in Ambala ! BATRA COMPUTER CENTRE
C and C ++ Training in Ambala ! BATRA COMPUTER CENTRE
 
Tutorial csharp
Tutorial csharpTutorial csharp
Tutorial csharp
 
Reasons to migrate from Delphi 7 to Delphi 2009
Reasons to migrate from Delphi 7 to Delphi 2009Reasons to migrate from Delphi 7 to Delphi 2009
Reasons to migrate from Delphi 7 to Delphi 2009
 
Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11
 
Reasons to migrate from Delphi 7 to Delphi 2009
Reasons to migrate from Delphi 7  to Delphi 2009Reasons to migrate from Delphi 7  to Delphi 2009
Reasons to migrate from Delphi 7 to Delphi 2009
 
EF Core (RC2)
EF Core (RC2)EF Core (RC2)
EF Core (RC2)
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
 
c programming, internshala training , govt engineering college aurangabad
c programming, internshala training , govt engineering college aurangabadc programming, internshala training , govt engineering college aurangabad
c programming, internshala training , govt engineering college aurangabad
 

More from Remedy IT

AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsRemedy IT
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...Remedy IT
 
Remedy IT Company presentation
Remedy IT Company presentationRemedy IT Company presentation
Remedy IT Company presentationRemedy IT
 
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsRemedy IT
 
Component Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesComponent Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesRemedy IT
 
Request For Proposal Unified Component Model for Distributed, Real-Time and E...
Request For Proposal Unified Component Model for Distributed, Real-Time and E...Request For Proposal Unified Component Model for Distributed, Real-Time and E...
Request For Proposal Unified Component Model for Distributed, Real-Time and E...Remedy IT
 
F6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through ConnectorsF6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through ConnectorsRemedy IT
 
AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11Remedy IT
 
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...Remedy IT
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters MostRemedy IT
 
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Remedy IT
 

More from Remedy IT (11)

AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
 
AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...AXCIOMA, the internals, the component framework for distributed, real-time, a...
AXCIOMA, the internals, the component framework for distributed, real-time, a...
 
Remedy IT Company presentation
Remedy IT Company presentationRemedy IT Company presentation
Remedy IT Company presentation
 
AXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systemsAXCIOMA, the component framework for distributed, real-time and embedded systems
AXCIOMA, the component framework for distributed, real-time and embedded systems
 
Component Technologies for Fractionated Satellites
Component Technologies for Fractionated SatellitesComponent Technologies for Fractionated Satellites
Component Technologies for Fractionated Satellites
 
Request For Proposal Unified Component Model for Distributed, Real-Time and E...
Request For Proposal Unified Component Model for Distributed, Real-Time and E...Request For Proposal Unified Component Model for Distributed, Real-Time and E...
Request For Proposal Unified Component Model for Distributed, Real-Time and E...
 
F6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through ConnectorsF6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through Connectors
 
AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11AMI4CCM, custom DDS connectors, and IDL to C++11
AMI4CCM, custom DDS connectors, and IDL to C++11
 
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
Draft Request For Proposal Unified Component Model for Distributed, Real-Time...
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters Most
 
Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...Component Based Model Driven Development of Mission Critical Defense Applicat...
Component Based Model Driven Development of Mission Critical Defense Applicat...
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

IDL to C++11 revised submission presentation

  • 1. IDL to C++11 Revised submission OMG document mars/2012-03-32 Copyright © 2012 Page 1
  • 2. Document numbers mars/12-03-05 (Updated IDL to C++11 Language Mapping revised submission with errata applied - changebar) mars/12-03-06 (Updated IDL to C++11 Language Mapping revised submission with errata applied - clean) mars/12-03-07 (Errata) mars/12-03-08 (Revised submission - inventory file) mars/12-01-02 (IDL to C++1 Language Mapping revised submission) Copyright © 2012 Page 2
  • 3. RFP asks for The new mapping should be functionally equivalent to the existing IDL to C++ mapping. While the syntax may change, an application should be able to implement functionality identical to that which can be achieved with the current IDL to C++ mapping. Applications programmed using alternative language mappings should inter operate transparently. An application utilizing this new language mapping should have no awareness, other than informational, of what language mapping a peer application is using. The new language mapping should be designed to co-exist with other technologies. Specifically, it should not interfere with the namespaces used by other OMG specifications, or commonly used packages. Interoperability between the IDL to C++ and IDL to C++11 mapping in the same compilation unit is not required. Copyright © 2012 Page 3
  • 4. C++11 C++11 was unanimously approved August 12 th 2011 Is now formally available as ISO/IEC 14882:2011 Copyright © 2012 Page 4
  • 5. Goal of IDL to C++11 Simplified mapping for C++11 Make use of the new C++11 features to – Gain performance – Reduce coding errors – Reduce amount of code – No need to create conversion between STL/C++ types and IDL based types Copyright © 2012 Page 5
  • 6. Enum mapping IDL enum is mapped to the new C++11 enum class // IDL enum Color { red, green, blue }; // C++ enum class Color : uint32_t { red, green, blue }; Copyright © 2012 Page 6
  • 7. C++11 type mapping Map basic types to their C++ counterparts IDL (w)string maps to std::(w)string IDL sequence maps to std::vector IDL array maps to std::array IDL fixed maps to CORBA::Fixed Copyright © 2012 Page 7
  • 8. Reference types Reference types are used for – Object reference – Valuetypes – Typecodes Strong references behave as std::shared_ptr Weak references behave as std::weak_ptr References can only be created using CORBA::make_reference<> No C++ pointers can be passed to the API Copyright © 2012 Page 8
  • 9. Client interface mapping When defining interface Foo, than CORBA::object_traits<Foo>::ref_type (aka CORBA::object_reference<Foo>, aka Foo::_ref_type) is the object reference type C++ traits are used to determine types, no naming rules to be remembered by the user Narrowing using the narrow method (with CORBA could trigger a remote call) Copyright © 2012 Page 9
  • 10. Servant interface mapping When defining interface Foo, than CORBA::servant_traits<Foo>::base_type is the base class for the user servant class Servant references are available as CORBA::servant_traits<Foo>::ref_type (aka CORBA::servant_reference<Foo>) C++ traits are used to determine types, no naming rules to be remembered by the user Copyright © 2012 Page 10
  • 11. Nil references C++11 has a new type for a nil pointer: nullptr_t References can be checked for nil by comparing them with nullptr Explicit bool conversion operators for usage in for example if statements Copyright © 2012 Page 11
  • 12. Argument passing Argument passing for Argument passing for basic types, and complex types: reference types – in: T – in: const T& – inout: T& – inout: T& – out: T& – out: T& – return: T – return: T Copyright © 2012 Page 12
  • 13. Struct/union Struct and union now both map to a C++ class Providing constructor(s), copy and move operators Set of accessors for each member: void A (T); void A (const T&); T A (void) const; void A (T&&); T& A (void); const T& A (void) const; T& A (void); Copyright © 2012 Page 13
  • 14. Proof of concept New language binding for TAO: IDL2C++11 Delivers new IDL compiler Adds support libraries to use TAO with C++11 More details on http://osportal.remedy.nl and http://www.orbzone.org Copyright © 2012 Page 14
  • 15. Next steps Vote 2 Vote AB FTF phase Copyright © 2012 Page 15