What is the proper way of precising the type of an iterable through inheritence.
as inherit FOO[like babar] is not alowed
class FOO
inherit
ITERABLE[detachable ANY] -- I know garbage but for DB_RESULT its the case
feature -- Access
new_cursor: ITERATION_CURSOR[like items.item]
do
Result := items.new_cursor
end
items: ARRAY[detachable ANY]
end -- class FOO
class BAR
inherit
FOO -- I know garbage but for DB_RESULT its the case
ITERABLE[STRING] -- I know garbage but for DB_RESULT its the case
feature -- Access
new_cursor: ITERATION_CURSOR[like items.item]
do
Result := items.new_cursor
end
items: ARRAY[STRING]
end -- class FOO
I would suggest using a formal generic parameter in class FOO
:
class FOO [G]
inherit
ITERABLE [G]
Then, class BAR
would provide a suitable actual generic parameter:
class BAR
inherit
FOO [STRING]