indexing
	description: "Lists whose items are held either locally or in other nested lists. Note that nested lists built that way form a possibly cyclic di-graph. Nested lists can be %'flattened%', that is all items accessible remotely are also kept locally, using a DS_NESTED_LIST_FLATTENER."
	library: "Gobo Eiffel Structure Library"
	author: "Eric Bezault <ericb@gobo.demon.co.uk>"
	copyright: "Copyright (c) 1998, Eric Bezault"

deferred class interface
	DS_NESTED_LIST [G]

feature -- Access

	local_items: DS_LIST [G]
			-- Items held locally
		ensure
			local_items_not_void: Result /= void

	remote_items: DS_LIST [DS_NESTED_LIST [G]]
			-- Items held by other lists
		ensure
			remote_items_not_void: Result /= void
	
invariant

		-- from GENERAL
	reflexive_equality: standard_is_equal (Current);
	reflexive_conformance: conforms_to (Current);

end -- class DS_NESTED_LIST