Scalar Variables
A scalar IDL_VARIABLE is distinguished by not having the IDL_V_ARR bit set in its flags field. A scalar variable must have one of the basic data types (IDL structures are never scalar) shown in the table below. The data for a scalar variable is stored in the IDL_VARIABLE itself, using the IDL_ALLTYPES union. The following table gives the relationship between the data type and the field used.
Scalar Data Type
|
Field That Stores Data
|
IDL_TYP_UNDEF
|
None
|
IDL_TYP_BYTE
|
value.c
|
IDL_TYP_INT
|
value.i
|
IDL_TYPE_UINT
|
value.ui
|
IDL_TYP_LONG
|
value.l
|
IDL_TYP_ULONG
|
value.ul
|
IDL_TYP_LONG64
|
value.l64
|
IDL_TYP_ULONG64
|
value.ul64
|
IDL_TYP_FLOAT
|
value.f
|
IDL_TYP_DOUBLE
|
value.d
|
IDL_TYP_COMPLEX
|
value.cmp
|
IDL_TYP_STRING
|
value.dcmp
|
IDL_TYP_PTR
|
value.str
|
IDL_TYP_OBJ
|
value.hvid
|