Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:
indexing description: "Trees with a dynamically modifiable structure" status: "See notice at end of class" names: dynamic_tree, tree representation: recursive access: cursor, membership contents: generic date: "$Date: 2001-11-16 20:32:23 +0000 (Fri, 16 Nov 2001) $" revision: "$Revision: 51435 $" deferred class interface DYNAMIC_TREE [G] feature -- Access parent: DYNAMIC_TREE [G] -- Parent of current node. feature -- Status report Extendible: BOOLEAN is True -- May new items be added? feature -- Element change extend (v: like item) -- Add v as new child. child_extend (v: like item) -- Add v to the list of children. -- Do not move child cursor. child_put_left (v: like item) -- Add v to the left of cursor position. -- Do not move child cursor. require not_child_before: not child_before child_put_right (v: like item) -- Add v to the right of cursor position. -- Do not move child cursor. require not_child_after: not child_after put_child (n: like parent) -- Add n to the list of children. -- Do not move child cursor. require else non_void_argument: n /= void put_child_left (n: like parent) -- Add n to the left of cursor position. -- Do not move cursor. require not_child_before: not child_before non_void_argument: n /= void put_child_right (n: like parent) -- Add n to the right of cursor position. -- Do not move cursor. require not_child_after: not child_after non_void_argument: n /= void merge_tree_before (other: like first_child) -- Merge children of other into current structure -- after cursor position. Do not move cursor. -- Make other a leaf. require not_child_off: not child_off other_exists: (other /= void) ensure other_is_leaf: other.is_leaf merge_tree_after (other: like first_child) -- Merge children of other into current structure -- after cursor position. Do not move cursor. -- Make other a leaf. require not_child_off: not child_off other_exists: (other /= void) ensure other_is_leaf: other.is_leaf feature -- Removal remove_left_child -- Remove item to the left of cursor position. -- Do not move cursor. require is_not_first: not child_isfirst ensure new_arity: arity = old arity - 1 new_child_index: child_index = old child_index - 1 remove_right_child -- Remove item to the right of cursor position. -- Do not move cursor. require is_not_last: not child_islast ensure new_arity: arity = old arity - 1 new_child_index: child_index = old child_index remove_child -- Remove child at cursor position. -- Move cursor to next sibling, or after if none. require child_not_off: not child_off ensure new_arity: arity = old arity - 1 new_child_index: child_index = old child_index wipe_out -- Remove all child feature -- Conversion fill_from_binary (b: BINARY_TREE [G]) -- Fill from a binary tree representation. -- Left child becomes first child. -- Right child becomes right sibling. -- Any right child of b is ignored. feature -- Duplication duplicate (n: INTEGER): like Current -- Copy of sub-tree beginning at cursor position and -- having min (n, arity - child_index + 1) -- children invariant extendible_definition: extendible child_after_definition: child_after = (child_index = arity + 1) indexing library: "[ EiffelBase: Library of reusable components for Eiffel. ]" status: "[ Copyright 1986-2001 Interactive Software Engineering (ISE). For ISE customers the original versions are an ISE product covered by the ISE Eiffel license and support agreements. ]" license: "[ EiffelBase may now be used by anyone as FREE SOFTWARE to develop any product, public-domain or commercial, without payment to ISE, under the terms of the ISE Free Eiffel Library License (IFELL) at http://eiffel.com/products/base/license.html. ]" source: "[ Interactive Software Engineering Inc. ISE Building 360 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Electronic mail <info@eiffel.com> Customer support http://support.eiffel.com ]" info: "[ For latest info see award-winning pages: http://eiffel.com ]" end -- class DYNAMIC_TREE
Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:

-- Generated by ISE Eiffel --
For more details: www.eiffel.com