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
generator: STRING_8
ANY
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]]
require
has_unsigned_char: has_unsigned_char (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
unsigned_character_reference: CHARACTER_8_REF
require
is_byte_ref: is_unsigned_char (variable_type) and is_byref (variable_type)
unsigned_character_value: CHARACTER_8
require
is_byte: is_unsigned_char (variable_type)
unsigned_integer: INTEGER_32
require
is_unsigned_integer: variable_type = vt_uint
unsigned_integer2: INTEGER_32
require
is_unsigned_short: variable_type = vt_ui2
unsigned_integer2_reference: INTEGER_32_REF
require
is_unsigned_integer2_ref: is_unsigned_short (variable_type) and is_byref (variable_type)
unsigned_integer4: INTEGER_32
require
is_unsigned_long: variable_type = vt_ui4
unsigned_integer4_array: ECOM_ARRAY [INTEGER_32]
require
has_unsigned_long: has_unsigned_long (variable_type)
is_array: is_array (variable_type)
unsigned_integer4_array_reference: CELL [ECOM_ARRAY [INTEGER_32]]
require
has_unsigned_long: has_unsigned_long (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
unsigned_integer4_reference: INTEGER_32_REF
require
is_unsigned_long_ref: is_unsigned_long (variable_type) and is_byref (variable_type)
unsigned_integer_array: ECOM_ARRAY [INTEGER_32]
require
has_unsigned_int: has_unsigned_int (variable_type)
is_array: is_array (variable_type)
unsigned_integer_array_reference: CELL [ECOM_ARRAY [INTEGER_32]]
require
has_unsigned_int: has_unsigned_int (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
unsigned_integer_reference: INTEGER_32_REF
require
is_unsigned_int_ref: is_unsigned_int (variable_type) and is_byref (variable_type)
unsigned_short_array: ECOM_ARRAY [INTEGER_32]
require
has_unsigned_short: has_unsigned_short (variable_type)
is_array: is_array (variable_type)
unsigned_short_array_reference: CELL [ECOM_ARRAY [INTEGER_32]]
require
has_unsigned_short: has_unsigned_short (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
variable_type: INTEGER_32
variant_array: ECOM_ARRAY [ECOM_VARIANT]
require
has_variant: has_variant (variable_type)
is_array: is_array (variable_type)
variant_array_reference: CELL [ECOM_ARRAY [ECOM_VARIANT]]
require
has_variant: has_variant (variable_type)
is_array: is_array (variable_type)
is_byref: is_byref (variable_type)
variant_value: ECOM_VARIANT
require
is_variant: is_variant (variable_type)
vt_array: INTEGER_32
ECOM_VAR_TYPE
vt_bool: INTEGER_32
ECOM_VAR_TYPE
vt_bstr: INTEGER_32
ECOM_VAR_TYPE
vt_byref: INTEGER_32
ECOM_VAR_TYPE
vt_carray: INTEGER_32
ECOM_VAR_TYPE
vt_cy: INTEGER_32
ECOM_VAR_TYPE
vt_date: INTEGER_32
ECOM_VAR_TYPE
vt_decimal: INTEGER_32
ECOM_VAR_TYPE
vt_dispatch: INTEGER_32
ECOM_VAR_TYPE
vt_empty: INTEGER_32
ECOM_VAR_TYPE
vt_error: INTEGER_32
ECOM_VAR_TYPE
vt_hresult: INTEGER_32
ECOM_VAR_TYPE
vt_i1: INTEGER_32
ECOM_VAR_TYPE
vt_i2: INTEGER_32
ECOM_VAR_TYPE
vt_i4: INTEGER_32
ECOM_VAR_TYPE
vt_i8: INTEGER_32
ECOM_VAR_TYPE
vt_int: INTEGER_32
ECOM_VAR_TYPE
vt_lpstr: INTEGER_32
ECOM_VAR_TYPE
vt_lpwstr: INTEGER_32
ECOM_VAR_TYPE
vt_null: INTEGER_32
ECOM_VAR_TYPE
vt_ptr: INTEGER_32
ECOM_VAR_TYPE
vt_r4: INTEGER_32
ECOM_VAR_TYPE
vt_r8: INTEGER_32
ECOM_VAR_TYPE
vt_record: INTEGER_32
ECOM_VAR_TYPE
vt_reserved: INTEGER_32
ECOM_VAR_TYPE
vt_safearray: INTEGER_32
ECOM_VAR_TYPE
vt_typemask: INTEGER_32
ECOM_VAR_TYPE
vt_ui1: INTEGER_32
ECOM_VAR_TYPE
vt_ui2: INTEGER_32
ECOM_VAR_TYPE
vt_ui4: INTEGER_32
ECOM_VAR_TYPE
vt_ui8: INTEGER_32
ECOM_VAR_TYPE
vt_uint: INTEGER_32
ECOM_VAR_TYPE
vt_unknown: INTEGER_32
ECOM_VAR_TYPE
vt_userdefined: INTEGER_32
ECOM_VAR_TYPE
vt_variant: INTEGER_32
ECOM_VAR_TYPE
vt_void: INTEGER_32
ECOM_VAR_TYPE
feature
structure_size: INTEGER_32
ensure WEL_STRUCTURE
positive_result: Result > 0
feature
arrays_equal (a_array, a_other: ECOM_ARRAY [ANY]): BOOLEAN
`a_array'`a_other'
require
attached_array: a_array /= Void
attached_other: a_other /= Void
ensure
array_comparison_unchanged: a_array.object_comparison = old a_array.object_comparison
other_comparison_unchanged: a_other.object_comparison = old a_other.object_comparison
frozen deep_equal (some: ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
shallow_implies_deep: standard_equal (some, other) implies Result
both_or_none_void: (some = Void) implies (Result = (other = Void))
same_type: (Result and (some /= Void)) implies some.same_type (other)
symmetric: Result implies deep_equal (other, some)
frozen equal (some: ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.is_equal (other))
frozen standard_equal (some: ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.standard_is_equal (other))
frozen standard_is_equal (other: like Current): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
same_type: Result implies same_type (other)
symmetric: Result implies other.standard_is_equal (Current)
feature
conforms_to (other: ANY): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
exists: BOOLEAN
item
WEL_ANY
ensure WEL_ANY
Result = (item /= default_pointer)
has_boolean (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_bstr (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_character (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_currency (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_date (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_decimal (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_double (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_error (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_hresult (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_idispatch (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_int (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_integer2 (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_integer4 (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_iunknown (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_long_long (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_ptr (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_real (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_unsigned_char (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_unsigned_int (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_unsigned_long (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_unsigned_long_long (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_unsigned_short (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_variant (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
has_void (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_array (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_basic (a_type: INTEGER_32): BOOLEAN
`a_type'
ECOM_VAR_TYPE
is_boolean (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_bstr (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_byref (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_carray (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_character (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_currency (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_date (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_decimal (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_double (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_error (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_hresult (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_idispatch (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_int (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_integer2 (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_integer4 (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_iunknown (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_long_long (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_lpstr (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_lpwstr (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_ptr (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_real (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_record (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_safearray (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_unsigned_char (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_unsigned_int (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_unsigned_long (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_unsigned_long_long (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_unsigned_short (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_user_defined (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_variant (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
is_void (variable_type: INTEGER_32): BOOLEAN
ECOM_VAR_TYPE
same_type (other: ANY): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
definition: Result = (conforms_to (other) and other.conforms_to (Current))
shared: BOOLEAN
item
item
destroy_item
item
WEL_ANY
valid_var_type (a_var_type: INTEGER_32): BOOLEAN
`a_var_type'
ECOM_VAR_TYPE
feature
set_shared
shared
WEL_ANY
ensure WEL_ANY
shared: shared
set_unshared
shared
WEL_ANY
ensure WEL_ANY
unshared: not shared
feature
set (a: ANY)
set_array (a_value: ECOM_ARRAY [ECOM_VARIANT])
require
non_void_value: a_value /= Void
set_boolean (a_value: BOOLEAN)
set_boolean_array (a_value: ECOM_ARRAY [BOOLEAN])
require
non_void_value: a_value /= Void
set_boolean_array_reference (a_value: CELL [ECOM_ARRAY [BOOLEAN]])
require
non_void_value: a_value /= Void
set_boolean_reference (a_value: BOOLEAN_REF)
require
non_void: a_value /= Void
set_char_array (a_value: ECOM_ARRAY [CHARACTER_8])
require
non_void_value: a_value /= Void
set_char_array_reference (a_value: CELL [ECOM_ARRAY [CHARACTER_8]])
require
non_void_value: a_value /= Void
set_character (a_char: CHARACTER_8)
ensure
set: character_value = a_char
set_character_reference (a_char: CHARACTER_8_REF)
require
non_void: a_char /= Void
ensure
set: character_reference = a_char
set_currency (a_value: ECOM_CURRENCY)
require
non_void_currency: a_value /= Void
valid: a_value.item /= default_pointer
set_currency_array (a_value: ECOM_ARRAY [ECOM_CURRENCY])
require
non_void_value: a_value /= Void
set_currency_array_reference (a_value: CELL [ECOM_ARRAY [ECOM_CURRENCY]])
require
non_void_value: a_value /= Void
set_currency_reference (a_value: ECOM_CURRENCY)
require
non_void_currency: a_value /= Void
valid: a_value.item /= default_pointer
set_date (a_value: DATE_TIME)
require
non_void: a_value /= Void
set_date_array (a_value: ECOM_ARRAY [DATE_TIME])
require
non_void_value: a_value /= Void
set_date_array_reference (a_value: CELL [ECOM_ARRAY [DATE_TIME]])
require
non_void_value: a_value /= Void
set_date_reference (a_value: CELL [DATE_TIME])
require
non_void: a_value /= Void
valid_value: a_value.item /= Void
set_decimal (a_value: ECOM_DECIMAL)
require
non_void_decimal: a_value /= Void
valid: a_value.item /= default_pointer
set_decimal_array (a_value: ECOM_ARRAY [ECOM_DECIMAL])
require
non_void_value: a_value /= Void
set_decimal_array_reference (a_value: CELL [ECOM_ARRAY [ECOM_DECIMAL]])
require
non_void_value: a_value /= Void
set_decimal_reference (a_value: ECOM_DECIMAL)
require
non_void_decimal: a_value /= Void
valid: a_value.item /= default_pointer
set_double (a_value: REAL_64)
set_double_array (a_value: ECOM_ARRAY [REAL_64])
require
non_void_value: a_value /= Void
set_double_array_reference (a_value: CELL [ECOM_ARRAY [REAL_64]])
require
non_void_value: a_value /= Void
set_double_reference (a_value: REAL_64_REF)
require
non_void: a_value /= Void
set_empty
set_error (a_value: ECOM_HRESULT)
require
non_void: a_value /= Void
set_error_array (a_value: ECOM_ARRAY [ECOM_HRESULT])
require
non_void_value: a_value /= Void
set_error_array_reference (a_value: CELL [ECOM_ARRAY [ECOM_HRESULT]])
require
non_void_value: a_value /= Void
set_error_reference (a_value: ECOM_HRESULT)
require
non_void: a_value /= Void
set_idispatch (a_value: ECOM_INTERFACE)
require
non_void: a_value /= Void
set_idispatch_array (a_value: ECOM_ARRAY [ECOM_INTERFACE])
require
non_void_value: a_value /= Void
set_idispatch_array_reference (a_value: CELL [ECOM_ARRAY [ECOM_INTERFACE]])
require
non_void_value: a_value /= Void
set_idispatch_reference (a_value: CELL [ECOM_INTERFACE])
require
non_void: a_value /= Void
set_integer (a_value: INTEGER_32)
set_integer2 (a_value: INTEGER_32)
set_integer2_reference (a_value: INTEGER_32_REF)
require
non_void: a_value /= Void
set_integer4 (a_value: INTEGER_32)
set_integer4_array (a_value: ECOM_ARRAY [INTEGER_32])
require
non_void_value: a_value /= Void
set_integer4_array_reference (a_value: CELL [ECOM_ARRAY [INTEGER_32]])
require
non_void_value: a_value /= Void
set_integer4_reference (a_value: INTEGER_32_REF)
require
non_void: a_value /= Void
set_integer_array (a_value: ECOM_ARRAY [INTEGER_32])
require
non_void_value: a_value /= Void
set_integer_array_reference (a_value: CELL [ECOM_ARRAY [INTEGER_32]])
require
non_void_value: a_value /= Void
set_integer_reference (a_value: INTEGER_32_REF)
require
non_void: a_value /= Void
set_iunknown (a_value: ECOM_INTERFACE)
require
non_void: a_value /= Void
set_iunknown_array (a_value: ECOM_ARRAY [ECOM_INTERFACE])
require
non_void_value: a_value /= Void
set_iunknown_array_reference (a_value: CELL [ECOM_ARRAY [ECOM_INTERFACE]])
require
non_void_value: a_value /= Void
set_iunknown_reference (a_value: CELL [ECOM_INTERFACE])
require
non_void: a_value /= Void
set_real (a_value: REAL_32)
set_real_array (a_value: ECOM_ARRAY [REAL_32])
require
non_void_value: a_value /= Void
set_real_array_reference (a_value: CELL [ECOM_ARRAY [REAL_32]])
require
non_void_value: a_value /= Void
set_real_reference (a_value: REAL_32_REF)
require
non_void: a_value /= Void
set_short_array (a_value: ECOM_ARRAY [INTEGER_32])
require
non_void_value: a_value /= Void
set_short_array_reference (a_value: CELL [ECOM_ARRAY [INTEGER_32]])
require
non_void_value: a_value /= Void
set_string (a_value: STRING_8)
require
non_void_string: a_value /= Void
set_string_array (a_value: ECOM_ARRAY [STRING_8])
require
non_void_value: a_value /= Void
set_string_array_reference (a_value: CELL [ECOM_ARRAY [STRING_8]])
require
non_void_value: a_value /= Void
set_string_reference (a_value: CELL [STRING_8])
require
non_void_string: a_value /= Void
valid_value: a_value.item /= Void
set_unsigned_character (a_value: CHARACTER_8)
set_unsigned_character_array (a_value: ECOM_ARRAY [CHARACTER_8])
require
non_void_value: a_value /= Void
set_unsigned_character_array_reference (a_value: CELL [ECOM_ARRAY [CHARACTER_8]])
require
non_void_value: a_value /= Void
set_unsigned_character_reference (a_value: CHARACTER_8_REF)
require
non_void: a_value /= Void
set_unsigned_integer (a_value: INTEGER_32)
set_unsigned_integer2 (a_value: INTEGER_32)
set_unsigned_integer2_reference (a_value: INTEGER_32_REF)
require
non_void: a_value /= Void
set_unsigned_integer4 (a_value: INTEGER_32)
set_unsigned_integer4_array (a_value: ECOM_ARRAY [INTEGER_32])
require
non_void_value: a_value /= Void
set_unsigned_integer4_array_reference (a_value: CELL [ECOM_ARRAY [INTEGER_32]])
require
non_void_value: a_value /= Void
set_unsigned_integer4_reference (a_value: INTEGER_32_REF)
require
non_void: a_value /= Void
set_unsigned_integer_array (a_value: ECOM_ARRAY [INTEGER_32])
require
non_void_value: a_value /= Void
set_unsigned_integer_array_reference (a_value: CELL [ECOM_ARRAY [INTEGER_32]])
require
non_void_value: a_value /= Void
set_unsigned_integer_reference (a_value: INTEGER_32_REF)
require
non_void: a_value /= Void
set_unsigned_short_array (a_value: ECOM_ARRAY [INTEGER_32])
require
non_void_value: a_value /= Void
set_unsigned_short_array_reference (a_value: CELL [ECOM_ARRAY [INTEGER_32]])
require
non_void_value: a_value /= Void
set_variant (a_value: ECOM_VARIANT)
require
non_void_variant: a_value /= Void
valid: a_value.item /= default_pointer
set_variant_array_reference (a_value: CELL [ECOM_ARRAY [ECOM_VARIANT]])
require
non_void_value: a_value /= Void
feature
dispose
`Current'
`Current'
WEL_ANY
feature
frozen deep_copy (other: like Current)
copy`other'deep_twin
ANY
require ANY
other_not_void: other /= Void
ensure ANY
deep_equal: deep_equal (Current, other)
frozen deep_twin: like Current
ANY
ensure ANY
deep_equal: deep_equal (Current, Result)
frozen standard_copy (other: like Current)
`other'
ANY
require ANY
other_not_void: other /= Void
type_identity: same_type (other)
ensure ANY
is_standard_equal: standard_is_equal (other)
frozen standard_twin: like Current
`other'
ANY
ensure ANY
standard_twin_not_void: Result /= Void
equal: standard_equal (Result, Current)
frozen twin: like Current
`Current'
twincopycopy
ANY
ensure ANY
twin_not_void: Result /= Void
is_equal: Result.is_equal (Current)
feature
copy (other: like Current)
`other'
WEL_STRUCTURE
require ANY
other_not_void: other /= Void
type_identity: same_type (other)
ensure ANY
is_equal: is_equal (other)
frozen default: like Current
ANY
frozen default_pointer: POINTER
`POINTER'
`p'default
`p'`POINTER'
ANY
default_rescue
ANY
frozen do_nothing
ANY
initialize
WEL_STRUCTURE
require WEL_STRUCTURE
exists: exists
initialize_with_character (a_character: CHARACTER_8)
`a_character'
WEL_STRUCTURE
require WEL_STRUCTURE
exists: exists
is_equal (other: like Current): BOOLEAN
`other'
WEL_STRUCTURE
require ANY
other_not_void: other /= Void
ensure ANY
symmetric: Result implies other.is_equal (Current)
consistent: standard_is_equal (other) implies Result
memory_copy (source_pointer: POINTER; length: INTEGER_32)
`length'`source_pointer'item
WEL_STRUCTURE
require WEL_STRUCTURE
length_small_enough: length <= structure_size
length_large_enough: length > 0
exists: exists
feature
set_value (source: like Current)
ECOM_STRUCTURE
require ECOM_STRUCTURE
non_void: source /= Void
valid_source: source.item /= default_pointer
feature
io: STD_FILES
ANY
out: STRING_8
print (some: ANY)
`some'
ANY
frozen tagged_out: STRING_8
ANYout
ANY
feature
operating_environment: OPERATING_ENVIRONMENT
ANY
invariant
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
indexing
copyright: "Copyright (c) 1984-2006, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software
356 Storke Road, Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Website http://www.eiffel.com
Customer support http://support.eiffel.com
]"
end ECOM_VARIANT