| Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) |
目次
索引
![]()
|
| 付録A IDL定義 | > A.7 データ型と型宣言 |
以下に共用体の宣言の形式を示します。
union データ型名 switch (データ型) {
case 定数式 ;
要素 [, ..]
:
default;
要素 [, ..]
:
}; |
要素の形式を以下に示します(typedefは使用しません)。
基本データ型 要素名; シーケンス型 要素名; 構造体 要素名; 共用体 要素名; 固定小数点型 要素名; スコープ名 要素名; |
要素名には単独の識別子か配列を指定します。
IDLの共用体は、C言語の共用体とswitch文とを合わせたものです。IDLの共用体の要素をcase文に関連付けて定義する必要があります。共用体のswitch文の型定義には、どの要素が使われるかを決定する型を指定しなければなりません。
case文の定数式はswitch文の型定義と一貫性を持たなければなりません。定数式は0〜65535の間の値を指定します。case文のdefaultは1回だけの使用しか許されません。要素内のスコープ名は定義済みの整数、文字、ブーリアン、列挙型のいずれかでなければなりません。case文の定数式はswitch文の型定義で指定された型と一致しなければなりません。
以下に一致の規則を示します。
1つの共用体内で要素名は一意でなければなりません。switchで指定した型が列挙型であれば、その識別子は共用体のスコープの中に入ります。そして、その識別子は要素名と違っていなければなりません。共用体の型指定がとりうるすべての値をcase文で指定する必要はありません。共用体の値は型定義の値と、下記のいずれかからなります。
以下に共用体の記述例を示します。
union U switch (long) {
case 1:
long a;
case 2:
short b;
default:
char c;
};
目次
索引
![]()
|