INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

description: "Sequential, dynamically modifiable lists, ", "without commitment to a particular representation "
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: dynamic_list, sequence
cluster: eiffelbase
deferred class DYNAMIC_LIST [G]
inherit

LIST [G]
undefine
prune,
prune_all,
remove,
sequential_has,
sequential_index_of
redefine
remove
end

DYNAMIC_CHAIN [G]
rename
wipe_out as chain_wipe_out
export
{NONE}
chain_wipe_out
redefine
put_right,
remove,
remove_left,
remove_right
end

DYNAMIC_CHAIN [G]
redefine
put_right,
remove,
remove_left,
remove_right,
wipe_out
select
wipe_out
end
feature -- Element change

put_left (v: G)
-- Add `v' to the left of cursor position.
-- Do not move cursor.

put_right (v: G)
-- Add `v' to the right of cursor position.
-- Do not move cursor.

merge_left (other: like Current)
-- Merge `other' into current structure before cursor
-- position. Do not move cursor. Empty `other'.

merge_right (other: like Current)
-- Merge `other' into current structure after cursor
-- position. Do not move cursor. Empty `other'.
feature -- Removal

remove
-- Remove current item.
-- Move cursor to right neighbor
-- (or `after' if no right neighbor).
ensure
after_when_empty: empty implies after

remove_left
-- Remove item to the left of cursor position.
-- Do not move cursor.
require
not_before: not before

remove_right
-- Remove item to the right of cursor position.
-- Do not move cursor.

wipe_out
-- Remove all items.
ensure
is_before: before
end -- class DYNAMIC_LIST

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES