14.20 TypeCodeメンバー関数

TypeCodeは、OMG IDLの型情報を表します。

TypeCodeのコンストラクタは定義されていません。ただし、マッピング・インタフェース、および各ベース・タイプと各定義済OMG IDL型には、実装でTypeCode擬似オブジェクト参照(TypeCode_ptr)へのアクセスが提供されます(この擬似オブジェクト参照は_tc_<type>という形式で、この形式は、Anyでの型を設定したり、equalの引数として使用したりできます)。これらのTypeCodeリファレンス定数の名前では、<type>は定義したスコープの範囲内にある型のローカル名を参照します。各C++ _tc_<type>定数は、一致した型と同じスコープ・レベルで定義します。

ほかのサーバーレス・オブジェクトと同様に、TypeCodeへのC++マッピングには_nil()操作があります。この操作は、TypeCodeへのnilオブジェクト参照を返します。また、作成された型に埋め込まれたTypeCodeリファレンスの初期化にも使用できます。ただし、nil TypeCodeリファレンスは、引数として操作に渡すことができません。これは、TypeCodesがオブジェクト参照ではなく値として渡されるためです。

これらのメンバー関数のC++へのマッピングは次のとおりです:

class CORBA
{
class TypeCode
{
public:
class Bounds { ... };
class BadKind { ... };

Boolean equal(TypeCode_ptr) const;
TCKind kind() const;
Long param_count() const;
Any *parameter(Long) const;
RepositoryId id () const;
}; // TypeCode
}; // CORBA