class EL_INDEXABLE_FROM_1
Abstraction for a container that is indexable in the range 1 to count
note
	description: "Abstraction for a container that is indexable in the range 1 to `count'"
	author: "Finnian Reilly"
	copyright: "Copyright (c) 2001-2022 Finnian Reilly"
	contact: "finnian at eiffel hyphen loop dot com"
	license: "MIT license (See: en.wikipedia.org/wiki/MIT_License)"
	date: "2025-05-03 6:51:32 GMT (Saturday 3rd May 2025)"
	revision: "4"
		
		deferred class
	EL_INDEXABLE_FROM_1
inherit
	ANY
		undefine
			default_create, copy, is_equal, out
		end
feature -- Measurement
	count: INTEGER
		deferred
		end
feature -- Status query
	valid_index (i: INTEGER): BOOLEAN
			-- Is `i' a valid index?
		deferred
		end
	valid_bounds (start_index, end_index: INTEGER): BOOLEAN
		do
			inspect count
				when 0 then
					Result := start_index = 1 and end_index = 0
			else
				if valid_index (start_index) then
					Result := end_index >= start_index - 1 and end_index <= count
				end
			end
		end
end