10.4.14 PrimitiveDef

A PrimitiveDef (shown below) represents one of the OMG IDL primitive types. Because primitive types are unnamed, this interface is not derived from TypedefDef or Contained.

module CORBA {
  enum PrimitiveKind {
    pk_null, pk_void, pk_short, pk_long, pk_ushort, pk_ulong,
    pk_float, pk_double, pk_boolean, pk_char, pk_octet,
    pk_any, pk_TypeCode, pk_Principal, pk_string, pk_objref,
      pk_longlong, pk_ulonglong, pk_longdouble, pk_wchar, pk_wstring,
    pk_value_base
  };
interface PrimitiveDef: IDLType {
      readonly attribute PrimitiveKind       kind;
  };
};
kind
Indicates which primitive type the PrimitiveDef represents. There are no PrimitiveDefs with kind pk_null. A PrimitiveDef with kind pk_string represents an unbounded string. A PrimitiveDef with kind pk_objref represents the OMG IDL type Object. A PrimitiveDef with kind pk_value_base represents the IDL type ValueBase.

The inherited type attribute describes the primitive type.

All PrimitiveDefs are owned by the Repository. References to them are obtained using Repository::get_primitive.