indexing
	description: "Implemented `IEnumVARIANT' Interface."
	note: "Automatically generated by the EiffelCOM Wizard."

class interface
	IENUM_VARIANT_IMPL_PROXY

create 

	make_from_other (other: ECOM_INTERFACE)
			-- Make from other Queriable.
			-- (from ECOM_QUERIABLE)
		require -- from ECOM_QUERIABLE
			non_void_other: other /= void
		ensure -- from ECOM_QUERIABLE
			valid_initializer: initializer /= default_pointer
			exists: exists

	make_from_pointer (cpp_obj: POINTER)
			-- Make from pointer
		require -- from ECOM_QUERIABLE
			non_default_pointer: a_pointer /= default_pointer
		ensure -- from ECOM_QUERIABLE
			valid_initializer: initializer /= default_pointer
			exists: exists

feature -- Access

	exists: BOOLEAN
			-- Is wrapped structure initialized?
			-- (from ECOM_QUERIABLE)

	item: POINTER
			-- Pointer to COM object wrapper.
			-- (from ECOM_QUERIABLE)
	
feature -- Basic Operations

	clone1 (ppenum: CELL [IENUM_VARIANT_INTERFACE])
			-- No description available.
			-- ppenum [out].
		require -- from IENUM_VARIANT_INTERFACE
			non_void_ppenum: ppenum /= void
			clone1_user_precondition: clone1_user_precondition (ppenum)
		ensure -- from IENUM_VARIANT_INTERFACE
			valid_ppenum: ppenum.item /= void

	next (celt: INTEGER; rgvar: ARRAY [ECOM_VARIANT]; pcelt_fetched: INTEGER_REF)
			-- No description available.
			-- celt [in].
			-- rgvar [in].
			-- pcelt_fetched [out].
		require -- from IENUM_VARIANT_INTERFACE
			non_void_rgvar: rgvar /= void
			non_void_pcelt_fetched: pcelt_fetched /= void
			next_user_precondition: next_user_precondition (celt, rgvar, pcelt_fetched)

	reset
			-- No description available.
		require -- from IENUM_VARIANT_INTERFACE
			reset_user_precondition: reset_user_precondition

	skip (celt: INTEGER)
			-- No description available.
			-- celt [in].
		require -- from IENUM_VARIANT_INTERFACE
			skip_user_precondition: skip_user_precondition (celt)
	
feature -- Status Report

	clone1_user_precondition (ppenum: CELL [IENUM_VARIANT_INTERFACE]): BOOLEAN
			-- User-defined preconditions for clone1.
			-- Redefine in descendants if needed.
			-- (from IENUM_VARIANT_INTERFACE)

	next_user_precondition (celt: INTEGER; rgvar: ARRAY [ECOM_VARIANT]; pcelt_fetched: INTEGER_REF): BOOLEAN
			-- User-defined preconditions for next.
			-- Redefine in descendants if needed.
			-- (from IENUM_VARIANT_INTERFACE)

	reset_user_precondition: BOOLEAN
			-- User-defined preconditions for reset.
			-- Redefine in descendants if needed.
			-- (from IENUM_VARIANT_INTERFACE)

	skip_user_precondition (celt: INTEGER): BOOLEAN
			-- User-defined preconditions for skip.
			-- Redefine in descendants if needed.
			-- (from IENUM_VARIANT_INTERFACE)
	
invariant

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)
		-- from ECOM_QUERIABLE
	queriable_invariant: initializer /= default_pointer and then exists

end -- class IENUM_VARIANT_IMPL_PROXY