Automatic generation produced by ISE Eiffel
class TWO_WAY_TREE [G] General cluster: base.structures.tree description: "Trees implemented using a two way linked list representation" create: make Ancestors BI_LINKABLE [G] DYNAMIC_TREE [G] TWO_WAY_LIST [G] Queries infix "@" (i: INTEGER): [like item] G arity: INTEGER binary_representation: BINARY_TREE [G] changeable_comparison_criterion: BOOLEAN child: [like first_element] TWO_WAY_TREE [G] child_after: BOOLEAN child_before: BOOLEAN child_capacity: INTEGER child_cursor: CURSOR Child_extendible: BOOLEAN child_index: INTEGER child_isfirst: BOOLEAN child_islast: BOOLEAN child_item: G child_off: BOOLEAN child_readable: BOOLEAN child_writable: BOOLEAN count: INTEGER duplicate (n: INTEGER): [like Current] TWO_WAY_TREE [G] exhausted: BOOLEAN Extendible: BOOLEAN first: [like item] G first_child: [like parent] TWO_WAY_TREE [G] for_all (test: FUNCTION [ANY, TUPLE [G], BOOLEAN]): BOOLEAN has (v: G): BOOLEAN i_th (i: INTEGER): [like item] G index_of (v: [like item] G; i: INTEGER): INTEGER index_set: INTEGER_INTERVAL is_empty: BOOLEAN is_equal (other: [like Current] TWO_WAY_TREE [G]): BOOLEAN is_inserted (v: G): BOOLEAN is_leaf: BOOLEAN is_root: BOOLEAN is_sibling (other: [like parent] TWO_WAY_TREE [G]): BOOLEAN item: G last: [like item] G last_child: [like parent] TWO_WAY_TREE [G] left_sibling: [like Current] TWO_WAY_TREE [G] linear_representation: LINEAR [G] object_comparison: BOOLEAN occurrences (v: [like item] G): INTEGER parent: TWO_WAY_TREE [G] prunable: BOOLEAN Readable: BOOLEAN readable_child: BOOLEAN right_sibling: [like Current] TWO_WAY_TREE [G] sequential_occurrences (v: G): INTEGER sublist: [like Current] TWO_WAY_TREE [G] there_exists (test: FUNCTION [ANY, TUPLE [G], BOOLEAN]): BOOLEAN valid_cursor (p: CURSOR): BOOLEAN valid_cursor_index (i: INTEGER): BOOLEAN valid_index (i: INTEGER): BOOLEAN Writable: BOOLEAN writable_child: BOOLEAN Commands append (s: SEQUENCE [G]) child_back child_extend (v: [like item] G) child_finish child_forth child_go_i_th (i: INTEGER) child_go_to (p: CURSOR) child_put (v: [like item] G) child_put_left (v: [like item] G) child_put_right (v: [like item] G) child_replace (v: [like item] G) child_start compare_objects compare_references copy (other: [like Current] TWO_WAY_TREE [G]) do_all (action: PROCEDURE [ANY, TUPLE [G]]) do_if (action: PROCEDURE [ANY, TUPLE [G]]; test: FUNCTION [ANY, TUPLE [G], BOOLEAN]) extend (v: [like item] G) fill (other: TREE [G]) fill_from_binary (b: BINARY_TREE [G]) force (v: [like item] G) make (v: [like item] G) merge_tree_after (other: [like first_child] TWO_WAY_TREE [G]) merge_tree_before (other: [like first_child] TWO_WAY_TREE [G]) move (i: INTEGER) prune (n: [like first_child] TWO_WAY_TREE [G]) prune_all (v: [like item] G) put (v: [like item] G) put_child (n: [like parent] TWO_WAY_TREE [G]) put_child_left (n: [like parent] TWO_WAY_TREE [G]) put_child_right (n: [like parent] TWO_WAY_TREE [G]) put_front (v: [like item] G) put_i_th (v: [like item] G; i: INTEGER) remove_child remove_left_child remove_right_child remove_sublist replace (v: [like item] G) replace_child (n: [like parent] TWO_WAY_TREE [G]) search_child (v: [like item] G) split (n: INTEGER) sprout swap (i: INTEGER) twl_merge_left (other: [like Current] TWO_WAY_TREE [G]) twl_merge_right (other: [like Current] TWO_WAY_TREE [G]) twl_prune (v: [like item] G) wipe_out Constraints off constraint -- Generated by ISE Eiffel --
For more details: www.eiffel.com