class
	TWO_WAY_TREE [G]

General
	cluster: elks
	description: "Trees implemented using a two way linked list representation"
	create: make

Ancestors
	BI_LINKABLE [G]
	DYNAMIC_TREE* [G]
	TWO_WAY_LIST [G]

Queries
	arity: INTEGER_32
	at alias "@" (i: INTEGER_32): [like child_item] G
	binary_representation: BINARY_TREE [G]
	changeable_comparison_criterion: BOOLEAN
	child: [like first_child] [detachable like Current] detachable TWO_WAY_TREE [G]
	child_after: BOOLEAN
	child_before: BOOLEAN
	child_capacity: INTEGER_32
	child_cursor: TWO_WAY_TREE_CURSOR [G]
	child_extendible: BOOLEAN
	child_index: INTEGER_32
	child_isfirst: BOOLEAN
	child_islast: BOOLEAN
	child_item: G
	child_off: BOOLEAN
	child_readable: BOOLEAN
	child_writable: BOOLEAN
	count: INTEGER_32
	exhausted: BOOLEAN
	Extendible: BOOLEAN
	first: [like child_item] G
	first_child: [like parent] [detachable like Current] detachable TWO_WAY_TREE [G]
	for_all (test: FUNCTION [G, BOOLEAN]): BOOLEAN
	has (v: G): BOOLEAN
	i_th alias "[]" (i: INTEGER_32): [like child_item] G
	index_of (v: [like child_item] G; i: INTEGER_32): INTEGER_32
	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: [attached like parent] [attached like Current] attached TWO_WAY_TREE [G]): BOOLEAN
	item: G
	item_for_iteration: G
	last: [like child_item] G
	last_child: [like parent] [detachable like Current] detachable TWO_WAY_TREE [G]
	left_sibling: [detachable like Current] detachable TWO_WAY_TREE [G]
	linear_representation: LINEAR [G]
	Lower: INTEGER_32
	new_cursor: TWO_WAY_TREE_ITERATION_CURSOR [G]
	node_is_equal (other: [like Current] TWO_WAY_TREE [G]): BOOLEAN
	object_comparison: BOOLEAN
	occurrences (v: [like child_item] G): INTEGER_32
	parent: [detachable like new_cell] [detachable like Current] detachable TWO_WAY_TREE [G]
	prunable: BOOLEAN
	Readable: BOOLEAN
	readable_child: BOOLEAN
	replaceable: BOOLEAN
	right_sibling: [detachable like Current] detachable TWO_WAY_TREE [G]
	sequential_has (v: [like child_item] G): BOOLEAN
	sequential_index_of (v: [like child_item] G; i: INTEGER_32): INTEGER_32
	sequential_occurrences (v: [like child_item] G): INTEGER_32
	sublist: [detachable like Current] detachable TWO_WAY_TREE [G]
	there_exists (test: FUNCTION [G, BOOLEAN]): BOOLEAN
	Twl_full: BOOLEAN
	twl_has (v: [like child_item] G): BOOLEAN
	twl_new_cursor: TWO_WAY_LIST_ITERATION_CURSOR [G]
	valid_cursor (p: CURSOR): BOOLEAN
	valid_cursor_index (i: INTEGER_32): BOOLEAN
	valid_index (i: INTEGER_32): BOOLEAN
	Writable: BOOLEAN
	writable_child: BOOLEAN

Commands
	append (s: SEQUENCE [G])
	chain_wipe_out
	child_back
	child_extend (v: [like child_item] G)
	child_finish
	child_forth
	child_go_i_th (i: INTEGER_32)
	child_go_to (p: CURSOR)
	child_put (v: [like child_item] G)
	child_put_left (v: [like child_item] G)
	child_put_right (v: [like child_item] G)
	child_replace (v: [like child_item] G)
	child_start
	compare_objects
	compare_references
	copy (other: [like Current] TWO_WAY_TREE [G])
	do_all (action: PROCEDURE [G])
	do_if (action: PROCEDURE [G]; test: FUNCTION [G, BOOLEAN])
	extend (v: [like item] G)
	fill_from_binary (b: BINARY_TREE [G])
	force (v: [like child_item] G)
	forget_left
	forget_right
	ll_merge_right (other: [like Current] TWO_WAY_TREE [G])
	ll_move (i: INTEGER_32)
	ll_put_front (v: [like child_item] G)
	ll_put_right (v: [like child_item] G)
	ll_wipe_out
	merge_tree_after (other: [like new_cell] [like Current] TWO_WAY_TREE [G])
	merge_tree_before (other: [like new_cell] [like Current] TWO_WAY_TREE [G])
	move (i: INTEGER_32)
	prune (n: [like new_cell] [like Current] TWO_WAY_TREE [G])
	prune_all (v: [like child_item] G)
	put (v: [like item] G)
	put_child (n: [like new_cell] [like Current] TWO_WAY_TREE [G])
	put_child_left (n: [like new_cell] [like Current] TWO_WAY_TREE [G])
	put_child_right (n: [like new_cell] [like Current] TWO_WAY_TREE [G])
	put_front (v: [like child_item] G)
	put_i_th (v: [like child_item] G; i: INTEGER_32)
	remove_child
	remove_i_th (i: INTEGER_32)
	remove_left_child
	remove_right_child
	remove_sublist
	replace (v: [like item] G)
	replace_child (n: [like new_cell] [like Current] TWO_WAY_TREE [G])
	search_child (v: [like child_item] G)
	sequence_put (v: [like child_item] G)
	split (n: INTEGER_32)
	sprout
	swap (i: INTEGER_32)
	twl_fill (other: CONTAINER [G])
	twl_merge_left (other: [like Current] TWO_WAY_TREE [G])
	twl_merge_right (other: [like Current] TWO_WAY_TREE [G])
	twl_prune (v: [like child_item] G)
	wipe_out

Constraints
	off constraint


Generated by ISE EiffelStudio