Hitachi

VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R) プログラマーズリファレンス


20.5 型定義

IDL内の型定義がC++型定義にダイレクトにマッピングされています。元のIDL型定義が複数のC++型にマッピングされる場合,IDLコンパイラは,それぞれの型に対応するC++のエイリアスを生成します。例をコードサンプル20-13〜20-14に示します。

コードサンプル20-13 IDLの型定義
// IDL
typedef octet example_octet;
typedef enum enum_values {
    first,
    second,
    third
} enum_example;
コードサンプル20-14 IDLの型定義のC++へのマッピング
// C++
typedef octet example_octet;
enum enum_values {
    first,
    second,
    third
};
typedef enum_values enum_example;

その他の型定義のマッピング例を,コードサンプル20-15〜20-18に示します。

コードサンプル20-15 インタフェースのIDL typedef
// IDL
interface A1;
typedef A1 A2;
コードサンプル20-16 IDLインタフェース型定義のC++へのマッピング
// C++
class A1;
typedef A1 *A1_ptr;
typedef A1_ptr A1Ref;
class A1_var;
 
typedef A1 A2;
typedef A1_ptr A2_ptr;
typedef A1Ref A2Ref;
typedef A1_var A2_var;
コードサンプル20-17 シーケンスのIDL typedef
// IDL
typedef sequence<long> S1;
typedef S1 S2;
コードサンプル20-18 IDLシーケンス型定義のC++へのマッピング
// C++
class S1;
typedef S1 *S1_ptr;
typedef S1_ptr S1Ref;
class S1_var;
 
typedef S1 S2;
typedef S1_ptr S2_ptr;
typedef S1Ref S2Ref;
typedef S1_var S2_var;