19928/jj_containers/jj_linked_stack.e
Jocelyn Fiat 6dde6425c2 init
2024-06-17 09:09:33 +02:00

48 lines
905 B
Plaintext

note
description: "[
A {LINKED_STACK} which allows inspection of any item, not just the
top one. Items are still added to and removed from the top.
]"
author: "Jimmy J. Johnson"
date: "10/27/21"
copyright: "Copyright (c) 2021, Jimmy J. Johnson"
license: "Eiffel Forum v2 (http://www.eiffel.com/licensing/forum.txt)"
class
JJ_LINKED_STACK [G]
inherit
LINKED_STACK [G]
export {ANY}
i_th,
first,
last,
valid_index
redefine
i_th,
at
end
create
make
feature -- Access
i_th alias "[]" (a_index: INTEGER): like item
-- Redefined to anchor to item.
do
Result := Precursor {LINKED_STACK} (a_index)
end
feature {NONE} -- Implementation
at alias "@" (i: INTEGER): like item
-- Entry at index `i', if in index interval.
-- Redefined to make result type "like item" instead of type G.
do
Result := Precursor {LINKED_STACK} (i)
end
end