Issue 2489: 20.17.9 Valuetype Inheritance (cxx_revision) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: For an IDL valuetype derived from other valuetypes or that supports interface types, several C++ inheritance scenarios are possible: ... * Interface classes supported by the IDL valuetype are not inherited. Instead, the operations on the interface (and base interfaces, if any) are mapped to pure virtual functions in the generated C++ base value class. In addition to this abstract base value class and the OBV_ class, the IDL compiler generates a POA skeleton for this value type; the name of this skeleton is formed by prepending the string "POA_" to the fully-scoped name of the valuetype. The base value class and the POA skeleton of the interface type are public virtual base classes of this skeleton. Consider this example: // IDL interface I {}; abstract valuetype A supports I {}; valuetype B : A {}; Is a POA skeleton generated for A? Is one generated for B? Resolution: Revised Text: Actions taken: February 25, 1999: received issue Discussion: End of Annotations:===== X-Sender: mark@192.168.1.1 Date: Thu, 25 Feb 1999 11:10:51 -0800 To: cxx_revision@omg.org From: Mark Spruiell Subject: Valuetypes & supported interfaces Hi, >From the C++ mapping document 98-09-03: 20.17.9 Valuetype Inheritance For an IDL valuetype derived from other valuetypes or that supports interface types, several C++ inheritance scenarios are possible: ... * Interface classes supported by the IDL valuetype are not inherited. Instead, the operations on the interface (and base interfaces, if any) are mapped to pure virtual functions in the generated C++ base value class. In addition to this abstract base value class and the OBV_ class, the IDL compiler generates a POA skeleton for this value type; the name of this skeleton is formed by prepending the string "POA_" to the fully-scoped name of the valuetype. The base value class and the POA skeleton of the interface type are public virtual base classes of this skeleton. Consider this example: // IDL interface I {}; abstract valuetype A supports I {}; valuetype B : A {}; Is a POA skeleton generated for A? Is one generated for B? Thanks, Mark -- Mark E. Spruiell Object-Oriented Concepts, Inc. mes@ooc.com * http://www.ooc.com * 1-978-439-9285 x 247