    class
    	ECOM_SHARED_VARIANT

    General
    	cluster: support
    	description: "Variant constants, use `missing' as value for optional argument when no value should be specified"

    Ancestors
    	ECOM_EXCEPTION_CODES
    	ECOM_VAR_TYPE

    Queries
    	has_boolean (variable_type: INTEGER_32): BOOLEAN
    	has_bstr (variable_type: INTEGER_32): BOOLEAN
    	has_character (variable_type: INTEGER_32): BOOLEAN
    	has_currency (variable_type: INTEGER_32): BOOLEAN
    	has_date (variable_type: INTEGER_32): BOOLEAN
    	has_decimal (variable_type: INTEGER_32): BOOLEAN
    	has_double (variable_type: INTEGER_32): BOOLEAN
    	has_error (variable_type: INTEGER_32): BOOLEAN
    	has_hresult (variable_type: INTEGER_32): BOOLEAN
    	has_idispatch (variable_type: INTEGER_32): BOOLEAN
    	has_int (variable_type: INTEGER_32): BOOLEAN
    	has_integer2 (variable_type: INTEGER_32): BOOLEAN
    	has_integer4 (variable_type: INTEGER_32): BOOLEAN
    	has_iunknown (variable_type: INTEGER_32): BOOLEAN
    	has_long_long (variable_type: INTEGER_32): BOOLEAN
    	has_ptr (variable_type: INTEGER_32): BOOLEAN
    	has_real (variable_type: INTEGER_32): BOOLEAN
    	has_unsigned_char (variable_type: INTEGER_32): BOOLEAN
    	has_unsigned_int (variable_type: INTEGER_32): BOOLEAN
    	has_unsigned_long (variable_type: INTEGER_32): BOOLEAN
    	has_unsigned_long_long (variable_type: INTEGER_32): BOOLEAN
    	has_unsigned_short (variable_type: INTEGER_32): BOOLEAN
    	has_variant (variable_type: INTEGER_32): BOOLEAN
    	has_void (variable_type: INTEGER_32): BOOLEAN
    	is_array (variable_type: INTEGER_32): BOOLEAN
    	is_basic (a_type: INTEGER_32): BOOLEAN
    	is_boolean (variable_type: INTEGER_32): BOOLEAN
    	is_bstr (variable_type: INTEGER_32): BOOLEAN
    	is_byref (variable_type: INTEGER_32): BOOLEAN
    	is_carray (variable_type: INTEGER_32): BOOLEAN
    	is_character (variable_type: INTEGER_32): BOOLEAN
    	is_currency (variable_type: INTEGER_32): BOOLEAN
    	is_date (variable_type: INTEGER_32): BOOLEAN
    	is_decimal (variable_type: INTEGER_32): BOOLEAN
    	is_double (variable_type: INTEGER_32): BOOLEAN
    	is_error (variable_type: INTEGER_32): BOOLEAN
    	is_hresult (variable_type: INTEGER_32): BOOLEAN
    	is_idispatch (variable_type: INTEGER_32): BOOLEAN
    	is_int (variable_type: INTEGER_32): BOOLEAN
    	is_integer2 (variable_type: INTEGER_32): BOOLEAN
    	is_integer4 (variable_type: INTEGER_32): BOOLEAN
    	is_iunknown (variable_type: INTEGER_32): BOOLEAN
    	is_long_long (variable_type: INTEGER_32): BOOLEAN
    	is_lpstr (variable_type: INTEGER_32): BOOLEAN
    	is_lpwstr (variable_type: INTEGER_32): BOOLEAN
    	is_missing (v: ECOM_VARIANT): BOOLEAN
    	is_ptr (variable_type: INTEGER_32): BOOLEAN
    	is_real (variable_type: INTEGER_32): BOOLEAN
    	is_record (variable_type: INTEGER_32): BOOLEAN
    	is_safearray (variable_type: INTEGER_32): BOOLEAN
    	is_unsigned_char (variable_type: INTEGER_32): BOOLEAN
    	is_unsigned_int (variable_type: INTEGER_32): BOOLEAN
    	is_unsigned_long (variable_type: INTEGER_32): BOOLEAN
    	is_unsigned_long_long (variable_type: INTEGER_32): BOOLEAN
    	is_unsigned_short (variable_type: INTEGER_32): BOOLEAN
    	is_user_defined (variable_type: INTEGER_32): BOOLEAN
    	is_variant (variable_type: INTEGER_32): BOOLEAN
    	is_void (variable_type: INTEGER_32): BOOLEAN
    	Missing: ECOM_VARIANT
    	valid_var_type (a_var_type: INTEGER_32): BOOLEAN
    	vt_array: INTEGER_32
    	vt_bool: INTEGER_32
    	vt_bstr: INTEGER_32
    	vt_byref: INTEGER_32
    	vt_carray: INTEGER_32
    	vt_cy: INTEGER_32
    	vt_date: INTEGER_32
    	vt_decimal: INTEGER_32
    	vt_dispatch: INTEGER_32
    	vt_empty: INTEGER_32
    	vt_error: INTEGER_32
    	vt_hresult: INTEGER_32
    	vt_i1: INTEGER_32
    	vt_i2: INTEGER_32
    	vt_i4: INTEGER_32
    	vt_i8: INTEGER_32
    	vt_int: INTEGER_32
    	vt_lpstr: INTEGER_32
    	vt_lpwstr: INTEGER_32
    	vt_null: INTEGER_32
    	vt_ptr: INTEGER_32
    	vt_r4: INTEGER_32
    	vt_r8: INTEGER_32
    	vt_record: INTEGER_32
    	vt_reserved: INTEGER_32
    	vt_safearray: INTEGER_32
    	vt_typemask: INTEGER_32
    	vt_ui1: INTEGER_32
    	vt_ui2: INTEGER_32
    	vt_ui4: INTEGER_32
    	vt_ui8: INTEGER_32
    	vt_uint: INTEGER_32
    	vt_unknown: INTEGER_32
    	vt_userdefined: INTEGER_32
    	vt_variant: INTEGER_32
    	vt_void: INTEGER_32