indexing
	description: "OLE Automation. "
	note: "Automatically generated by the EiffelCOM Wizard."

deferred class interface
	IENUM_VARIANT_INTERFACE

feature -- Access

	item: POINTER
			-- Pointer to COM interface.
			-- (from ECOM_INTERFACE)
	
feature -- Basic Operations

	clone1 (ppenum: CELL [IENUM_VARIANT_INTERFACE])
			-- No description available.
			-- ppenum [out].
		require
			non_void_ppenum: ppenum /= void
			clone1_user_precondition: clone1_user_precondition (ppenum)
		ensure
			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
			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
			reset_user_precondition: reset_user_precondition

	skip (celt: INTEGER)
			-- No description available.
			-- celt [in].
		require
			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.

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

	reset_user_precondition: BOOLEAN
			-- User-defined preconditions for reset.
			-- Redefine in descendants if needed.

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

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

end -- class IENUM_VARIANT_INTERFACE