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: "Dispensers: containers for which clients have no say as to what item they can access at a given time. Examples include stacks and queues.";
	status: "See notice at end of class";
	names: dispenser, active;
	access: fixed, membership;
	contents: generic;
	date: "$Date: 2007-03-30 11:10:11 -0800 (Fri, 30 Mar 2007) $";
	revision: "$Revision: 95354 $"

deferred class DISPENSER [G]

inherit
	ACTIVE [G];
	FINITE [G]

feature -- Status report

	readable: BOOLEAN is
			-- Is there a current item that may be read?
		do
			Result := notempty
		end;

	writable: BOOLEAN is
			-- Is there a current item that may be modified?
		do
			Result := notempty
		end;

feature -- Element change

	append (s: SEQUENCE [G]) is
			-- Append a copy of s.
			-- (Synonym for fill)
		do
			fill (s)
		end;

	extend (v: like item) is
			-- Add item v.
			-- Was declared in DISPENSER as synonym of extend, force and put.
		deferred
		end;

	force (v: like item) is
			-- Add item v.
			-- Was declared in DISPENSER as synonym of extend, force and put.
		deferred
		end;

	put (v: like item) is
			-- Add item v.
			-- Was declared in DISPENSER as synonym of extend, force and put.
		deferred
		end;

invariant

	readable_definition: readable = notempty;
	writable_definition: writable = notempty;

end -- class DISPENSER