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: "Hierarchical structures in which each item has zero or one immediate predecessor, and zero or more successors.";
	status: "See notice at end of class";
	names: hierarchical, traversing;
	access: cursor;
	contents: generic;
	date: "$Date: 2007-03-30 11:10:11 -0800 (Fri, 30 Mar 2007) $";
	revision: "$Revision: 95354 $"

deferred class HIERARCHICAL [G]

inherit
	TRAVERSABLE [G]

feature -- Access

	successor_count: INTEGER is
			-- Number of successors of current element
		require
			not_off: notoff
		deferred
		end;

feature -- Cursor movement

	up is
			-- Move to predecessor.
		require
			not_off: notoff
		deferred
		end;

	down (i: INTEGER) is
			-- Move to i-th successor.
		require
			not_off: notoff;
			argument_within_bounds: i >= 1 and i <= successor_count
		deferred
		end;

invariant

	non_negative_successor_count: successor_count >= 0;

end -- class HIERARCHICAL