IDLデータ型はoperation定義の引数およびリターン値,struct定義のメンバ,union定義のメンバ,array型の要素,sequence型の要素,ならびにexception定義のメンバに使用できます。
array型およびsequence型は,必ずtypedefしてください。
IDLデータ型を使用できるかどうかを次の表に示します。
表1-4 IDLデータ型の使用の可否
データ型 | 使用の可否(C++) | 使用の可否(Java) | 使用の可否(COBOL) |
---|---|---|---|
Primitive | ○※1 | ||
struct | ○ | ||
sequence | ○(最大長指定は使用できません) | ○(最大長指定は使用できません) | ○(最大長指定は使用できません。要素として使用できるのはPrimitive型とstruct型だけです) |
array | ○ | ||
union | ○※2 | × | |
enum | ○ | ||
interface | ×(データ型として使用できません) | ||
any | ○(Primitive型だけ使用できます) | ○(Primitive型だけ使用できます) | × |
typedef | ○(array型とsequence型だけ使用できます) | ||
Object Reference | × | ||
fixed | × |
表1-5 Primitive型データの使用の可否
データ型 | 使用の可否(C++) | 使用の可否(Java) | 使用の可否(COBOL) |
---|---|---|---|
short | ○ | ||
long | ○ | ||
unsigned short | ○ | ○(shortと同様に扱われます) | ○ |
unsigned long | ○ | ○(longと同様に扱われます) | ○ |
float | ○ | ||
double | ○ | ||
char | ○ | ||
boolean | ○ | ||
octet | ○ | ||
string | ○ | ||
long long | ○ | ||
unsigned long long | ○ | ○(long longと同様に扱われます) | ○ |
long double | × | ||
wchar※ | ○ | ○ | × |
wstring※ | ○(最大長指定は使用できません) | ○(最大長指定は使用できません) | × |