INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

description: "Unbounded queues implemented as linked lists"
title: "EiffelBase: library of reusable components for Eiffel. ", "Based on EiffelBase library for ISE Eiffel, ", "used with permission. "
project: "EiffelBase Library"
copyright: "(c) 1986-1997 Interactive Software Engineering Inc. ", "Modifications and extensions: ", "(c) 1997 Object Tools ", "All rights reserved. Duplication and distribution prohibited", "May be used only with Visual Eiffel under terms of user ", "license "
key: linked_queue, dispenser, linked_list
cluster: eiffelbase
class LINKED_QUEUE [G]
inherit

QUEUE [G]
undefine
empty
redefine
prune_all
select
item,
put
end

LINKED_LIST [G]
rename
item as ll_item,
remove as ll_remove,
make as ll_make,
remove_left as remove,
put as ll_put
export
{NONE}
all
{ANY}
extendible,
readable,
wipe_out,
writable
undefine
append,
extend,
fill,
force,
prune,
prune_all,
readable,
writable
redefine
duplicate,
linear_representation
select
remove
end
creation

make
feature -- Initialization

make
feature -- Access

item: G
-- Oldest item
require
not empty
feature -- Element change

put, extend, force (v: G)
-- Add `v' as newest item.
ensure
( empty ) implies (item = v)
feature -- Conversion

linear_representation: ARRAYED_LIST [G]
-- Representation as a linear structure
-- (order is same as original order of insertion)
feature -- Duplication

duplicate (n: INTEGER): like Current
-- New queue containing the `n' oldest items in current queue.
-- If `n' is greater than `count', identical to current queue.
require
positive_argument: n > 0
invariant

is_always_after: not empty implies after
end -- class LINKED_QUEUE

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES