deferred class
	EV_ITEM_LIST [reference G -> EV_ITEM]

General
	cluster: interface
	description: "Base class for widgets that contain EV_ITEMs"
	keywords: "item, list"

Ancestors
	EV_ANY*
	EV_DYNAMIC_LIST* [reference G -> EV_CONTAINABLE]

Queries
	after: BOOLEAN
	before: BOOLEAN
	Changeable_comparison_criterion: BOOLEAN
	count: INTEGER_32
	cursor: EV_DYNAMIC_LIST_CURSOR [G]
	data: ANY
	exhausted: BOOLEAN
	Extendible: BOOLEAN
	first: [like item] G
	for_all (test: FUNCTION [ANY, TUPLE [G], BOOLEAN]): BOOLEAN
	Full: BOOLEAN
	has (v: [like item] G): BOOLEAN
	i_th alias "[]" (i: INTEGER_32): [like item] G
	index: INTEGER_32
	index_of (v: [like item] G; i: INTEGER_32): INTEGER_32
	index_set: INTEGER_INTERVAL
	infix "@" (i: INTEGER_32): [like item] G
	is_destroyed: BOOLEAN
	is_empty: BOOLEAN
	is_equal (other: [like Current] EV_ITEM_LIST [G]): BOOLEAN
	is_inserted (v: G): BOOLEAN
	is_parent_recursive (a_list: [like item] G): BOOLEAN
	isfirst: BOOLEAN
	islast: BOOLEAN
	item: G
	last: [like item] G
	linear_representation: LINEAR [G]
	object_comparison: BOOLEAN
	occurrences (v: [like item] G): INTEGER_32
	off: BOOLEAN
	parent: EV_ANY
	prunable: BOOLEAN
	readable: BOOLEAN
	retrieve_item_by_data (some_data: ANY; should_compare_objects: BOOLEAN): G
	retrieve_items_by_data (some_data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [G]
	same (other: EV_ANY): BOOLEAN
	sequential_occurrences (v: [like item] G): INTEGER_32
	there_exists (test: FUNCTION [ANY, TUPLE [G], BOOLEAN]): BOOLEAN
	valid_cursor (p: CURSOR): BOOLEAN
	valid_cursor_index (i: INTEGER_32): BOOLEAN
	valid_index (i: INTEGER_32): BOOLEAN
	writable: BOOLEAN

Commands
	append (s: SEQUENCE [[like item] G])
	back
	compare_objects
	compare_references
	copy (other: [like Current] EV_ITEM_LIST [G])
	destroy
	dl_force (v: [like item] 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: CONTAINER [G])
	finish
	force (v: [like item] G)
	forth
	go_i_th (i: INTEGER_32)
	go_to (p: CURSOR)
	merge_left (other: [like Current] EV_ITEM_LIST [G])
	merge_right (other: [like Current] EV_ITEM_LIST [G])
	move (i: INTEGER_32)
	prune (v: [like item] G)
	prune_all (v: [like item] G)
	put (v: [like item] G)
	put_front (v: [like item] G)
	put_i_th (v: [like item] G; i: INTEGER_32)
	put_left (v: [like item] G)
	put_right (v: [like item] G)
	remove
	remove_left
	remove_right
	replace (v: [like item] G)
	search (v: [like item] G)
	set_data (some_data: [like data] ANY)
	start
	swap (i: INTEGER_32)
	wipe_out

Constraints
	parent of items is current
	items unique