This site contains older material on Eiffel. For the main Eiffel page, see http://www.eiffel.com.

EiffelBase class
(HTML page generated by ISE Eiffel 4.2)

Eiffel Class
indexing
	description: "Sequential lists, without commitment to a particular representation";
	status: "See notice at end of class";
	names: list, sequence;
	access: index, cursor, membership;
	contents: generic;
	date: "$Date: 2007-03-30 11:10:11 -0800 (Fri, 30 Mar 2007) $";
	revision: "$Revision: 95354 $"

deferred class LIST [G]

inherit
	CHAIN [G]
		redefine
			forth
		end

feature -- Cursor movement

	forth is
			-- Move to next position; if no next position,
			-- ensure that exhausted will be true.
		deferred
		ensure
			moved_forth: index = old index + 1
		end;

feature -- Status report

	after: BOOLEAN is
			-- Is there no valid cursor position to the right of cursor?
		do
			Result := (index = count + 1)
		end;

	before: BOOLEAN is
			-- Is there no valid cursor position to the left of cursor?
		do
			Result := (index = 0)
		end;

invariant

	before_definition: before = (index = 0);
	after_definition: after = (index = count + 1);

end -- class LIST