indexing
description: "COM VARIANT structure"
legal: "See notice at end of class."
status: "See notice at end of class."
date: "$Date: 2006-08-12 20:35:13 -0700 (Sat, 12 Aug 2006) $"
revision: "$Revision: 62480 $"
class interface
ECOM_VARIANT
create
make
require WEL_STRUCTURE
True
ensure WEL_STRUCTURE
not_shared: not shared
make_from_pointer (a_pointer: POINTER)
require ECOM_STRUCTURE
valid_pointer: a_pointer /= default_pointer
make_from_character (a_value: CHARACTER_8)
`a_value'
ensure
character: character_value = a_value
make_from_integer (a_value: INTEGER_32)
`a_value'
ensure
integer: integer_value = a_value
make_from_real (a_value: REAL_32)
`a_value'
ensure
real: real_value = a_value
make_from_double (a_value: REAL_64)
`a_value'
ensure
double: double_value = a_value
make_from_boolean (a_value: BOOLEAN)
`a_value'
ensure
boolean: boolean_value = a_value
make_from_date (a_value: DATE_TIME)
`a_value'
ensure
date: date_value.is_equal (a_value)
make_from_error (a_value: ECOM_HRESULT)
`a_value'
ensure
error: error.is_equal (a_value)
make_from_decimal (a_value: ECOM_DECIMAL)
`a_value'
ensure
decimal: decimal.is_equal (a_value)
make_from_currency (a_value: ECOM_CURRENCY)
`a_value'
ensure
currency: currency.is_equal (a_value)
make_from_string (a_value: STRING_8)
`a_value'
ensure
string: string_value.is_equal (a_value)
make_from_variant (a_value: ECOM_VARIANT)
`a_value'
ensure
variant_value: variant_value.is_equal (a_value)
make_from_iunknown (a_value: ECOM_INTERFACE)
`a_value'
ensure
iunknown: iunknown.item = a_value.item
make_from_integer_array (a_value: ECOM_ARRAY [INTEGER_32])
`a_value'
ensure
integer_array: integer_array.is_equal (a_value)
make_from_real_array (a_value: ECOM_ARRAY [REAL_32])
`a_value'
ensure
real_array: real_array.is_equal (a_value)
make_from_double_array (a_value: ECOM_ARRAY [REAL_64])
`a_value'
ensure
double_array: double_array.is_equal (a_value)
make_from_char_array (a_value: ECOM_ARRAY [CHARACTER_8])
`a_value'
ensure
char_array: char_array.is_equal (a_value)
make_from_error_array (a_value: ECOM_ARRAY [ECOM_HRESULT])
`a_value'
ensure
error_array: arrays_equal (error_array, a_value)
make_from_currency_array (a_value: ECOM_ARRAY [ECOM_CURRENCY])
`a_value'
ensure
currency_array: arrays_equal (currency_array, a_value)
make_from_date_array (a_value: ECOM_ARRAY [DATE_TIME])
`a_value'
ensure
date_array: arrays_equal (date_array, a_value)
make_from_string_array (a_value: ECOM_ARRAY [STRING_8])
`a_value'
ensure
string_array: arrays_equal (string_array, a_value)
make_from_boolean_array (a_value: ECOM_ARRAY [BOOLEAN])
`a_value'
ensure
boolean_array: boolean_array.is_equal (a_value)
make_from_decimal_array (a_value: ECOM_ARRAY [ECOM_DECIMAL])
`a_value'
ensure
decimal_array: arrays_equal (decimal_array, a_value)
convert
make_from_decimal_array ({POINTER}),
make_from_decimal_array ({CHARACTER_8}),
make_from_decimal_array ({INTEGER_32}),
make_from_decimal_array ({REAL_32}),
make_from_decimal_array ({REAL_64}),
make_from_decimal_array ({BOOLEAN}),
make_from_decimal_array ({DATE_TIME}),
make_from_decimal_array ({ECOM_HRESULT}),
make_from_decimal_array ({ECOM_DECIMAL}),
make_from_decimal_array ({ECOM_CURRENCY}),
make_from_decimal_array ({STRING_8}),
make_from_decimal_array ({ECOM_INTERFACE}),
make_from_decimal_array ({ECOM_ARRAY [INTEGER_32]}),
make_from_decimal_array ({ECOM_ARRAY [REAL_32]}),
make_from_decimal_array ({ECOM_ARRAY [REAL_64]}),
make_from_decimal_array ({ECOM_ARRAY [BOOLEAN]}),
make_from_decimal_array ({ECOM_ARRAY [CHARACTER_8]}),
make_from_decimal_array ({ECOM_ARRAY [ECOM_HRESULT]}),
make_from_decimal_array ({ECOM_ARRAY [ECOM_CURRENCY]}),
make_from_decimal_array ({ECOM_ARRAY [DATE_TIME]}),
make_from_decimal_array ({ECOM_ARRAY [STRING_8]}),
make_from_decimal_array ({ECOM_ARRAY [ECOM_DECIMAL]})
feature
make
require WEL_STRUCTURE
True
ensure WEL_STRUCTURE
not_shared: not shared
make_from_boolean (a_value: BOOLEAN)
`a_value'
ensure
boolean: boolean_value = a_value
make_from_boolean_array (a_value: ECOM_ARRAY [BOOLEAN])
`a_value'
ensure
boolean_array: boolean_array.is_equal (a_value)
make_from_char_array (a_value: ECOM_ARRAY [CHARACTER_8])
`a_value'
ensure
char_array: char_array.is_equal (a_value)
make_from_character (a_value: CHARACTER_8)
`a_value'
ensure
character: character_value = a_value
make_from_currency (a_value: ECOM_CURRENCY)
`a_value'
ensure
currency: currency.is_equal (a_value)
make_from_currency_array (a_value: ECOM_ARRAY [ECOM_CURRENCY])
`a_value'
ensure
currency_array: arrays_equal (currency_array, a_value)
make_from_date (a_value: DATE_TIME)
`a_value'
ensure
date: date_value.is_equal (a_value)
make_from_date_array (a_value: ECOM_ARRAY [DATE_TIME])
`a_value'
ensure
date_array: arrays_equal (date_array, a_value)
make_from_decimal (a_value: ECOM_DECIMAL)
`a_value'
ensure
decimal: decimal.is_equal (a_value)
make_from_decimal_array (a_value: ECOM_ARRAY [ECOM_DECIMAL])
`a_value'
ensure
decimal_array: arrays_equal (decimal_array, a_value)
make_from_double (a_value: REAL_64)
`a_value'
ensure
double: double_value = a_value
make_from_double_array (a_value: ECOM_ARRAY [REAL_64])
`a_value'
ensure
double_array: double_array.is_equal (a_value)
make_from_error (a_value: ECOM_HRESULT)
`a_value'
ensure
error: error.is_equal (a_value)
make_from_error_array (a_value: ECOM_ARRAY [ECOM_HRESULT])
`a_value'
ensure
error_array: arrays_equal (error_array, a_value)
make_from_integer (a_value: INTEGER_32)
`a_value'
ensure
integer: integer_value = a_value
make_from_integer_array (a_value: ECOM_ARRAY [INTEGER_32])
`a_value'
ensure
integer_array: integer_array.is_equal (a_value)
make_from_iunknown (a_value: ECOM_INTERFACE)
`a_value'
ensure
iunknown: iunknown.item = a_value.item
make_from_pointer (a_pointer: POINTER)
require ECOM_STRUCTURE
valid_pointer: a_pointer /= default_pointer
make_from_real (a_value: REAL_32)
`a_value'
ensure
real: real_value = a_value
make_from_real_array (a_value: ECOM_ARRAY [REAL_32])
`a_value'
ensure
real_array: real_array.is_equal (a_value)
make_from_string (a_value: STRING_8)
`a_value'
ensure
string: string_value.is_equal (a_value)
make_from_string_array (a_value: ECOM_ARRAY [STRING_8])
`a_value'
ensure
string_array: arrays_equal (string_array, a_value)
make_from_variant (a_value: ECOM_VARIANT)
`a_value'
ensure
variant_value: variant_value.is_equal (a_value)
feature
boolean_array: ECOM_ARRAY [BOOLEAN]
require
has_boolean: has_boolean (variable_type)
is_array: is_array (variable_type)
boolean_array_reference: CELL [ECOM_ARRAY [BOOLEAN]]
require
has_boolean: has_boolean (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
boolean_reference: BOOLEAN_REF
require
is_boolean_ref: is_boolean (variable_type) and is_byref (variable_type)
boolean_value: BOOLEAN
require
is_boolean: variable_type = vt_bool
char_array: ECOM_ARRAY [CHARACTER_8]
require
has_character: has_character (variable_type)
is_array: is_array (variable_type)
char_array_reference: CELL [ECOM_ARRAY [CHARACTER_8]]
require
has_character: has_character (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
character_reference: CHARACTER_8_REF
require
is_character_ref: is_character (variable_type) and is_byref (variable_type)
character_value: CHARACTER_8
require
is_character: variable_type = vt_i1
currency: ECOM_CURRENCY
require
is_currency: variable_type = vt_cy
currency_array: ECOM_ARRAY [ECOM_CURRENCY]
require
has_currency: has_currency (variable_type)
is_array: is_array (variable_type)
currency_array_reference: CELL [ECOM_ARRAY [ECOM_CURRENCY]]
require
has_currency: has_currency (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
currency_reference: ECOM_CURRENCY
require
is_currency_ref: is_currency (variable_type) and is_byref (variable_type)
date_array: ECOM_ARRAY [DATE_TIME]
require
has_date: has_date (variable_type)
is_array: is_array (variable_type)
date_array_reference: CELL [ECOM_ARRAY [DATE_TIME]]
require
has_date: has_date (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
date_reference: CELL [DATE_TIME]
require
is_date_ref: is_date (variable_type) and is_byref (variable_type)
date_value: DATE_TIME
require
is_date: variable_type = vt_date
decimal: ECOM_DECIMAL
decimal_array: ECOM_ARRAY [ECOM_DECIMAL]
require
has_decimal: has_decimal (variable_type)
is_array: is_array (variable_type)
decimal_array_reference: CELL [ECOM_ARRAY [ECOM_DECIMAL]]
require
has_decimal: has_decimal (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
decimal_reference: ECOM_DECIMAL
require
is_decimal_ref: is_decimal (variable_type) and is_byref (variable_type)
double_array: ECOM_ARRAY [REAL_64]
require
has_double: has_double (variable_type)
is_array: is_array (variable_type)
double_array_reference: CELL [ECOM_ARRAY [REAL_64]]
require
has_double: has_double (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
double_reference: REAL_64_REF
require
is_double_ref: is_double (variable_type) and is_byref (variable_type)
double_value: REAL_64
require
is_double: variable_type = vt_r8
error: ECOM_HRESULT
require
is_error: variable_type = vt_error
error_array: ECOM_ARRAY [ECOM_HRESULT]
require
has_error: has_error (variable_type)
is_array: is_array (variable_type)
error_array_reference: CELL [ECOM_ARRAY [ECOM_HRESULT]]
require
has_error: has_error (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
error_reference: ECOM_HRESULT
require
is_error_ref: is_error (variable_type) and is_byref (variable_type)
generating_type: STRING_8
ANY
ensure ANY
generating_type_not_void: Result /= Void
generating_type_not_empty: not Result.is_empty
generator: STRING_8
ANY
ensure ANY
generator_not_void: Result /= Void
generator_not_empty: not Result.is_empty
idispatch: ECOM_AUTOMATION_INTERFACE
require
is_idispatch: is_idispatch (variable_type)
idispatch_array: ECOM_ARRAY [ECOM_AUTOMATION_INTERFACE]
require
has_idispatch: has_idispatch (variable_type)
is_array: is_array (variable_type)
idispatch_array_reference: CELL [ECOM_ARRAY [ECOM_AUTOMATION_INTERFACE]]
require
has_idispatch: has_idispatch (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
idispatch_reference: CELL [ECOM_AUTOMATION_INTERFACE]
require
is_idispatch_ref: has_idispatch (variable_type) and is_byref (variable_type)
integer2: INTEGER_32
require
is_integer2: variable_type = vt_i2
integer2_reference: INTEGER_32_REF
require
is_integer2_ref: is_integer2 (variable_type) and is_byref (variable_type)
integer4: INTEGER_32
require
is_integer4: variable_type = vt_i4
integer4_array: ECOM_ARRAY [INTEGER_32]
require
has_integer4: has_integer4 (variable_type)
is_array: is_array (variable_type)
integer4_array_reference: CELL [ECOM_ARRAY [INTEGER_32]]
require
has_integer4: has_integer4 (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
integer4_reference: INTEGER_32_REF
require
is_integer4_ref: is_integer4 (variable_type) and is_byref (variable_type)
integer_array: ECOM_ARRAY [INTEGER_32]
require
has_int: has_int (variable_type)
is_array: is_array (variable_type)
integer_array_reference: CELL [ECOM_ARRAY [INTEGER_32]]
require
has_int: has_int (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
integer_reference: INTEGER_32_REF
require
is_integer_ref: is_int (variable_type) and is_byref (variable_type)
integer_value: INTEGER_32
require
is_integer: variable_type = vt_int
item: POINTER
WEL_ANY
iunknown: ECOM_UNKNOWN_INTERFACE
require
is_iunknown: is_iunknown (variable_type)
iunknown_array: ECOM_ARRAY [ECOM_UNKNOWN_INTERFACE]
require
has_iunknown: has_iunknown (variable_type)
is_array: is_array (variable_type)
iunknown_array_reference: CELL [ECOM_ARRAY [ECOM_UNKNOWN_INTERFACE]]
require
has_iunknown: has_iunknown (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
iunknown_reference: CELL [ECOM_UNKNOWN_INTERFACE]
require
is_unknown_ref: has_iunknown (variable_type) and is_byref (variable_type)
real_array: ECOM_ARRAY [REAL_32]
require
has_real: has_real (variable_type)
is_array: is_array (variable_type)
real_array_reference: CELL [ECOM_ARRAY [REAL_32]]
require
has_real: has_real (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
real_reference: REAL_32_REF
require
is_real_ref: is_real (variable_type) and is_byref (variable_type)
real_value: REAL_32
require
is_real: variable_type = vt_r4
short_array: ECOM_ARRAY [INTEGER_32]
require
has_integer2: has_integer2 (variable_type)
is_array: is_array (variable_type)
short_array_reference: CELL [ECOM_ARRAY [INTEGER_32]]
require
has_integer2: has_integer2 (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
string_array: ECOM_ARRAY [STRING_8]
require
has_bstr: has_bstr (variable_type)
is_array: is_array (variable_type)
string_array_reference: CELL [ECOM_ARRAY [STRING_8]]
require
has_bstr: has_bstr (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
string_reference: CELL [STRING_8]
require
is_bstr_ref: is_bstr (variable_type) and is_byref (variable_type)
string_value: STRING_8
require
is_bstr: variable_type = vt_bstr
unsigned_character_array: ECOM_ARRAY [CHARACTER_8]
require
has_unsigned_char: has_unsigned_char (variable_type)
is_array: is_array (variable_type)
unsigned_character_array_reference: CELL [ECOM_ARRAY [CHARACTER_8]]