10.4.14 PrimitiveDef

次に示すPrimitiveDefは、OMG IDLのプリミティブ型の1つを表します。プリミティブ型には名前が付かないので、このインタフェースはTypedefDefからも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
PrimitiveDefで表されるプリミティブ型を示します。種類がpk_nullのPrimitiveDefはありません。種類がpk_stringのPrimitiveDefは、無制限の文字列を表します。種類がpk_objrefのPrimitiveDefは、OMG IDLのObject型を表します。種類がpk_value_baseのPrimitiveDefは、IDLのValueBase型を表します。

継承されるtype属性は、プリミティブ型を記述します。

PrimitiveDefsはすべてRepositoryによって所有されます。これらに対するリファレンスは、Repository::get_primitiveを使用して取得されます。