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 |