Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:
indexing description: "Circular chains, without commitment to a particular representation" status: "See notice at end of class" names: circular, ring, sequence access: index, cursor, membership contents: generic date: "$Date: 2001-11-16 20:32:23 +0000 (Fri, 16 Nov 2001) $" revision: "$Revision: 51435 $" deferred class interface CIRCULAR [G] feature -- Access first: G -- Item at position currently defined as first index: INTEGER -- Current cursor index, with respect to position -- currently defined as first last: like first -- Item at position currently defined as last feature -- Status report valid_cursor_index (i: INTEGER): BOOLEAN -- Is i a possible cursor position? ensure then valid_cursor_index_definition: Result = ((i >= 0) and (i <= count)) after: BOOLEAN -- Is there no valid cursor position to the right of cursor? ensure then empty_and_std_after: Result = (is_empty and standard_after) before: BOOLEAN -- Is there no valid cursor position to the right of cursor? ensure then empty_and_std_before: Result = (is_empty and standard_before) off: BOOLEAN -- Is there no current item? ensure then only_when_empty: Result = is_empty exhausted: BOOLEAN -- Has structure been completely explored? feature -- Cursor movement forth -- Move cursor to next item, cyclically. ensure then moved_forth_at_end: (old index = count) implies (index = 1) back -- Move cursor to previous item, cyclically. move (i: INTEGER) -- Move cursor to i-th item from current position, -- cyclically. go_i_th (i: INTEGER) -- Move cursor to i-th position from current start, cyclically. require else index_big_enough: i >= 1 not_empty: not is_empty set_start -- Define current position as the first. require not_empty: not is_empty feature -- Removal remove -- Remove item at cursor position. -- Move cursor to right neighbor (cyclically). -- If removed item was at current starting position, -- move starting position to right neighbor. invariant not_before_unless_empty: before implies is_empty not_after_unless_empty: after implies is_empty not_off_unless_empty: off implies is_empty indexing library: "[ EiffelBase: Library of reusable components for Eiffel. ]" status: "[ Copyright 1986-2001 Interactive Software Engineering (ISE). For ISE customers the original versions are an ISE product covered by the ISE Eiffel license and support agreements. ]" license: "[ EiffelBase may now be used by anyone as FREE SOFTWARE to develop any product, public-domain or commercial, without payment to ISE, under the terms of the ISE Free Eiffel Library License (IFELL) at http://eiffel.com/products/base/license.html. ]" source: "[ Interactive Software Engineering Inc. ISE Building 360 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Electronic mail <info@eiffel.com> Customer support http://support.eiffel.com ]" info: "[ For latest info see award-winning pages: http://eiffel.com ]" end -- class CIRCULAR
Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:

-- Generated by ISE Eiffel --
For more details: www.eiffel.com