    deferred class
    	EV_ITEM_LIST_IMP [reference G -> EV_ITEM, reference H -> EV_ITEM_IMP]

    General
    	cluster: implementation_mswin
    	description: " EiffelVision item container. This class has been created to centralise the implementation of several features for EV_LIST_IMP and EV_MENU_ITEM_HOLDER Mswindows implementation."

    Ancestors
    	EV_DYNAMIC_LIST_IMP* [reference G -> EV_CONTAINABLE, reference G_IMP -> EV_ANY_I]
    	EV_ITEM_LIST_I* [reference G -> EV_ITEM]

    Action sequences
    	new_item_actions: ACTION_SEQUENCE [TUPLE [EV_ITEM]]
    	remove_item_actions: ACTION_SEQUENCE [TUPLE [EV_ITEM]]

    Queries
    	count: INTEGER_32
    	cursor: EV_DYNAMIC_LIST_CURSOR [G]
    	has (v: [like item] G): BOOLEAN
    	i_th (i: INTEGER_32): [like item] G
    	index: INTEGER_32
    	index_of (v: [like item] G; i: INTEGER_32): INTEGER_32
    	item: G
    	item_by_data (data: ANY): [like item] G
    	off: BOOLEAN
    	retrieve_item_by_data (data: ANY; should_compare_objects: BOOLEAN): G
    	retrieve_items_by_data (data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [G]
    	valid_cursor (p: CURSOR): BOOLEAN

    Commands
    	append (s: SEQUENCE [G])
    	back
    	extend (v: [like item] G)
    	forth
    	go_i_th (i: INTEGER_32)
    	go_to (p: CURSOR)
    	merge_left (other: [like interface] EV_ITEM_LIST [G])
    	merge_right (other: [like interface] EV_ITEM_LIST [G])
    	move (i: INTEGER_32)
    	prune (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)
    	start
    	wipe_out

    Constraints
    	new item actions not void
    	remove item actions not void