トランザクショナル分散オブジェクト基盤 TPBroker Object Transaction Monitor プログラマーズガイド

[目次][索引][前へ][次へ]

1.2 IDLデータ型

IDLデータ型はoperation定義の引数およびリターン値,struct定義のメンバ,union定義のメンバ,array型の要素,sequence型の要素,ならびにexception定義のメンバに使用できます。

array型およびsequence型は,必ずtypedefしてください。

IDLデータ型を使用できるかどうかを次の表に示します。

表1-4 IDLデータ型の使用の可否

データ型 使用の可否(C++およびJava)
Primitive 1
struct
sequence ○(最大長指定は使用できません)
array
union 2
enum
interface ×(データ型として使用できません)
any ○(Primitive型またはsequence<octet>型だけ使用できます)
typedef ○(array型またはsequence型だけ使用できます)
Object Reference ×
fixed ×

(凡例)
○:使用できます。
×:使用できません。

注※1
詳細については,表1-5を参照してください。

注※2
union型のcaseラベルには,次に示すデータ型または値を使用できません。
  • long long型
  • unsigned short型で32767を超える値
  • char型で非表示文字(ASCIIコードで31以下および127以上)の値
 

表1-5 Primitive型データの使用の可否

データ型 使用の可否(C++) 使用の可否(Java)
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 ○(最大長指定は使用できません)

(凡例)
○:使用できます。
×:使用できません。

注※
wchar型およびwstring型を使用しても文字コードは変換されません。異なる言語やプラットフォーム間ではwchar型およびwstring型は使用しないでください。