indexing
	description: "Cells containing two items"
	library: "Gobo Eiffel Structure Library"
	author: "Eric Bezault <ericb@gobo.demon.co.uk>"
	copyright: "Copyright (c) 1997, Eric Bezault"

class interface
	DS_PAIR [G, H]

create 

	make (v: G; w: H)
		ensure
			first_set: first = v;
			second_set: second = w

feature -- Access

	first: G
			-- Content of cell
			-- (from DS_CELL)

	second: H
			-- Second item of cell
	
feature -- Element change

	put_first (v: G)
			-- Insert v in cell.
			-- Was declared in DS_CELL as synonym of make and put.
			-- (from DS_CELL)
		ensure -- from DS_CELL
			inserted: first = v

	put_second (w: like second)
			-- Insert w in cell.
		ensure
			inserted: second = w
	
invariant

		-- from GENERAL
	reflexive_equality: standard_is_equal (Current);
	reflexive_conformance: conforms_to (Current);

end -- class DS_PAIR