INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

description: "Cursor trees implemented in two-way linked 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: two_way_cursor_tree, cursor_tree
cluster: eiffelbase
class TWO_WAY_CURSOR_TREE [G]
inherit

RECURSIVE_CURSOR_TREE [G]
redefine
active,
cursor_anchor,
is_leaf
end
creation

make,
make_root
feature -- Initialization

make
-- Create an empty tree.
ensure
is_above: above
is_empty: empty

make_root (v: G)
-- Create a tree with `v' as root.
feature -- Status report

full: BOOLEAN

prunable: BOOLEAN

is_leaf: BOOLEAN
feature -- Element change

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

put_root (v: G)
-- Put `v' as root of an empty tree.
require
is_empty: empty
ensure
is_root: is_root
count = 1

put_child (v: G)
-- Put `v' as child of a leaf.
require
is_leaf: is_leaf
end -- class TWO_WAY_CURSOR_TREE

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES