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;