note
	description: "Infinite sequences, indexed by integers"
	library: "Free implementation of ELKS library"
	status: "See notice at end of class."
	legal: "See notice at end of class."
	names: countable_sequence, infinite_sequence
	access: cursor, membership
	contents: generic
	date: "$Date: 2012-05-24 04:13:10 +0000 (Thu, 24 May 2012) $"
	revision: "$Revision: 91981 $"

deferred class interface
	COUNTABLE_SEQUENCE [G]

feature -- Access

	index: INTEGER_32
			-- Index of current position

	item: G
			-- Item at current position
	
feature -- Status report

	After: BOOLEAN = False
			-- Is current position past last item? (Answer: no.)

	Extendible: BOOLEAN = False
			-- May items be added? (Answer: no.)

	Prunable: BOOLEAN = False
			-- May items be removed? (Answer: no.)

	Readable: BOOLEAN = True
			-- Is there a current item that may be read?
			-- (Answer: yes.)

	Writable: BOOLEAN = False
			-- Is there a current item that may be written?
			-- (Answer: no.)

	Replaceable: BOOLEAN = False
			-- Can current item be replaced?
	
feature -- Cursor movement

	forth
			-- Move to next position.

	start
			-- Move to first position.
	
feature -- Inapplicable

	extend (v: G)
			-- Add v at end.

	finish
			-- Move to last position.
		ensure then
			failure: False

	linear_representation: LINEAR [G]
			-- Representation as a linear structure

	prune (v: G)
			-- Remove first occurrence of v, if any.

	put (v: G)
			-- Add v to the right of current position.

	remove
			-- Remove item to the right of current position.

	replace (v: G)
			-- Replace by v item at current position.

	wipe_out
			-- Remove all items.
	
note
	copyright: "Copyright (c) 1984-2012, Eiffel Software and others"
	license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
	source: "[
		Eiffel Software
		5949 Hollister Ave., Goleta, CA 93117 USA
		Telephone 805-685-1006, Fax 805-685-6869
		Website http://www.eiffel.com
		Customer support http://support.eiffel.com
	]"

end -- class COUNTABLE_SEQUENCE

Generated by ISE EiffelStudio