Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:
indexing description: "Trees where the children of each node are kept in an array" status: "See notice at end of class" names: tree representation: recursive, array access: cursor, membership contents: generic date: "$Date: 2001-11-16 20:32:23 +0000 (Fri, 16 Nov 2001) $" revision: "$Revision: 51435 $" class interface ARRAYED_TREE [G] create make feature -- Initialization make (n: INTEGER; v: G) -- Create node with item v. -- Allocate space for n children. require valid_number_of_children: n >= 0 ensure node_item: item = v feature -- Access parent: ARRAYED_TREE [G] -- Parent of current node left_sibling: like parent -- Left neighbor if any right_sibling: like parent -- Right neighbor if any feature -- Element change child_put (v: like item) -- Replace current child item with v. -- Was declared in ARRAYED_TREE as synonym of child_replace. child_replace (v: like item) -- Replace current child item with v. -- Was declared in ARRAYED_TREE as synonym of child_put. replace_child (n: like parent) -- Make n the node's current child. ensure then child_replaced: n.parent = Current child_extend (v: like item) -- Add v at end. -- Do not move child cursor. child_put_left (v: like item) -- Add v to the left of cursor position. -- Do not move child cursor. child_put_right (v: like item) -- Add v to the right of cursor position. -- Do not move child cursor. put_child_left (n: like parent) -- Add n to the left of cursor position. -- Do not move cursor. put_child_right (n: like parent) -- Add n to the right of the cursor position. -- Do not move cursor. put_child (n: like parent) -- Add n to the list of children. -- Do not move child cursor. merge_tree_before (other: like first_child) -- Merge children of other into current structure -- before cursor position. Do not move cursor. -- Make other a 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. feature -- Removal remove_child -- Remove child at cursor position. -- Move cursor to the next sibling, or after if none. remove_left_child -- Remove item to the left of cursor position. -- Do not move cursor. remove_right_child -- Remove item to the right of cursor position. -- Do not move cursor. feature -- Duplication duplicate (n: INTEGER): like Current -- Copy of sub-tree beginning at cursor position and -- having min (n, arity - child_index + 1) -- children. copy (other: like Current) -- Copy contents from other. 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 ARRAYED_TREE
Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:

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