C++ Language Mapping Avatar
  1. OMG Specification

C++ Language Mapping — All Issues

  • Acronym: CPP
  • Issues Count: 12
  • Description: All Issues
Open Closed All
All Issues

Issues Descriptions

_var's and valuetypes

  • Key: CPP13-63
  • Legacy Issue Number: 6163
  • Status: open  
  • Source: Oracle ( Andrew Piper)
  • Summary:

    1.9.1 says:

    "The copy constructor deep-copies any data pointed to by the T_var constructor
    parameter. This copy will be destroyed when the T_var is destroyed or when a new
    value is assigned to it. Compliant implementations may, but are not required to, utilize
    some form of reference counting to avoid such copies."

    and

    "The normal assignment operator deep-copies any data pointed to by the T_var
    assignment parameter. This copy will be destroyed when the T_var is destroyed or
    when a new value is assigned to it. Assigning a null pointer to a T_var is legal and
    results in deallocation of the data pointed to by the T_var."

    So my question is, is it legal to use ValueBase::_add_ref() and _remove_ref() instead of _copy_value() in this instance when T_var is representing a valuetype?

  • Reported: CPP 1.2 — Thu, 11 Sep 2003 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:58 GMT

Sequence _var needs const operator []

  • Key: CPP13-65
  • Legacy Issue Number: 6276
  • Status: open  
  • Source: Floorboard Software ( Jonathan Biggar)
  • Summary:

    Footnote 11 on page 1-48 of the 1.1 version of the C++ language mapping states that sequence _var classes don't have a const version of "operator []". The justification in the footnote is incorrect.

    This footnote should be removed, and the operator provided, since it otherwise prevents accessing sequence members through a const reference to a sequence _var.

  • Reported: CPP 1.2 — Thu, 25 Sep 2003 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:58 GMT

need unchecked narrow

  • Key: CPP13-70
  • Legacy Issue Number: 16892
  • Status: open  
  • Source: RTX ( Mr. Roy M. Bell)
  • Summary:

    need an _unchecked_narrow static operation that is similar to the _narrow. It will take in an object pointer but unlike _narrow will not check for compatibility before creating a new object reference.

  • Reported: CPP 1.2 — Mon, 12 Dec 2011 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:58 GMT

valuetype example has errors

  • Key: CPP13-69
  • Legacy Issue Number: 16528
  • Status: open  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    In IDL it gives:

    // IDL
    valuetype V

    { factory create_bool(boolean b); factory create_(char c); factory create_(octet o); factory create_(short s, string p); ... }

    ;

    But it should be

    // IDL
    valuetype V

    { factory create_bool(boolean b); factory create_char(char c); factory create_octet(octet o); factory create_other(short s, string p); ... }

    ;

  • Reported: CPP 1.2 — Wed, 7 Sep 2011 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:58 GMT

Describe operator != and == for all generated types

  • Key: CPP13-68
  • Legacy Issue Number: 14852
  • Status: open  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    the C++ mapping should explicitly list operator == and operator Unable to render embedded object: File (= in the examples and text. If it is not allowed to use ==/) not found.= the methods should be declared private

  • Reported: CPP 1.2 — Thu, 10 Dec 2009 05:00 GMT
  • Updated: Fri, 6 Mar 2015 20:58 GMT

make it possible to write more generic C++ code

  • Key: CPP13-76
  • Legacy Issue Number: 14169
  • Status: closed  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    The spec defines: // C++ class Seq_var; class Seq

    { public: typedef Seq_var _var_type; // ... }

    ; We propose to extend this to the following to make it possible to write more generic C++ code. // C++ class Seq_var; class Seq_out; class Seq

    { public: typedef Seq_var _var_type; typedef Seq_out _out_type: typedef ::CORBA::ULong _size_type; // ... }

    ;

  • Reported: CPP 1.2 — Fri, 31 Jul 2009 04:00 GMT
  • Disposition: Resolved — CPP 1.3
  • Disposition Summary:

    In section 4.11 add to the example at the end Seq_out and a _out_type typedef
    as in the revised text below.
    The _size_type typedef will make it possible in the user code to differentiate
    between the index of a sequence type and a user defined ULong value. To
    section 4.15 add the sentence
    To facilitate template-based programming, a nested public typedef _size_type is delivered as the type
    representing the length of the sequence.
    And to the sequence class examples in section 4.15 the following
    typedef ULong _size_type;

  • Updated: Fri, 6 Mar 2015 20:58 GMT

Servant_var + spec typo?

  • Key: CPP13-75
  • Legacy Issue Number: 12913
  • Status: closed  
  • Source: lmco.com ( Abdullah Sowayan)
  • Summary:

    I was looking at the OMG IDL to C++ mapping specification, specifically
    page 123 and came across the below. It looks to me that their
    implementation in the spec is NOT correct. Shouldn't the swap function
    take the "tmp" Servant_var?

    Servant_var& operator=(Servant* p)
    {
    if (_ptr != p)

    { Servant_var<Servant> tmp = p; swap(_ptr, p); }

    return *this;
    }

    Servant_var&
    operator=(const Servant_var& b)
    {
    if (_ptr != b._ptr)

    { Servant_var<Servant> tmp = b; swap(_ptr, b._ptr); }

    return *this;
    }

  • Reported: CPP 1.2 — Mon, 6 Oct 2008 04:00 GMT
  • Disposition: Resolved — CPP 1.3
  • Disposition Summary:

    Update assignment operator as proposed

  • Updated: Fri, 6 Mar 2015 20:58 GMT

valuetype classes should add _out_type typedef

  • Key: CPP13-79
  • Legacy Issue Number: 16356
  • Status: closed  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    To really support template meta programming the valuetype classes should deliver a typedef _out_type besides the _ptr_type and _var_type which are proposed to be added as part of issue 1794

  • Reported: CPP 1.2 — Thu, 7 Jul 2011 04:00 GMT
  • Disposition: Resolved — CPP 1.3
  • Disposition Summary:

    Add a _out_type typedef to the valuetype class

  • Updated: Fri, 6 Mar 2015 20:58 GMT

Interface should add _out_type typedef

  • Key: CPP13-78
  • Legacy Issue Number: 16355
  • Status: closed  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    To really support template meta programming the inteface should deliver a typedef _out_type besides the already defined _ptr_type and _var_type

  • Reported: CPP 1.2 — Thu, 7 Jul 2011 04:00 GMT
  • Disposition: Resolved — CPP 1.3
  • Disposition Summary:

    Add a _out_type typedef to the interface class

  • Updated: Fri, 6 Mar 2015 20:58 GMT

C++ keywords should be updated

  • Key: CPP13-77
  • Legacy Issue Number: 16283
  • Status: closed  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    The C++ keywords in section 4.47 should be updated and extended with the addition of C++0x

  • Reported: CPP 1.2 — Fri, 27 May 2011 04:00 GMT
  • Disposition: Resolved — CPP 1.3
  • Disposition Summary:

    Add the following keywords to the table on page 154 as part of section 4.47

  • Updated: Fri, 6 Mar 2015 20:58 GMT

Section 4.5.4: parameter to _narrow

  • Key: CPP13-74
  • Legacy Issue Number: 12856
  • Status: closed  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    In section 4.5.4 it says: Unlike _duplicate, the parameter to _narrow is a reference of an object of any interface type (Object_ptr). If the actual (runtime) type of the parameter object can be widened to the requested interface’s type, then _narrow will return a valid object reference; it should say (widened to narrowed) Unlike _duplicate, the parameter to _narrow is a reference of an object of any interface type (Object_ptr). If the actual (runtime) type of the parameter object can be narrowed to the requested interface’s type, then _narrow will return a valid object reference;

  • Reported: CPP 1.2 — Thu, 18 Sep 2008 04:00 GMT
  • Disposition: Resolved — CPP 1.3
  • Disposition Summary:

    In section 4.5.4 change widened to narrowed

  • Updated: Fri, 6 Mar 2015 20:58 GMT

get_policy should return Policy, not Policy_ptr

  • Key: CPP13-80
  • Legacy Issue Number: 16358
  • Status: closed  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    The Object::get_policy returns a Policy in IDL, not a Policy_ptr, that is the C++ return value

  • Reported: CPP 1.2 — Fri, 8 Jul 2011 04:00 GMT
  • Disposition: Resolved — CPP 1.3
  • Disposition Summary:

    Replace in 4.36.1 the text Policy_ptr to Policy

  • Updated: Fri, 6 Mar 2015 20:58 GMT