class EL_AGENT_CACHE_TABLE
Client examples: RBOX_DATABASE_FIELD_ENUM
EL_CACHE_TABLE with new_item calling a supplied agent function
note
description: "${EL_CACHE_TABLE} with `new_item' calling a supplied agent function"
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: "2024-09-22 15:46:17 GMT (Sunday 22nd September 2024)"
revision: "13"
class
EL_AGENT_CACHE_TABLE [G, K -> HASHABLE]
inherit
EL_CACHE_TABLE [G, K]
rename
make as make_sized,
make_equal as make_equal_sized
end
create
make, make_equal
feature {NONE} -- Initialization
make (n: INTEGER; a_new_item: like new_item_agent)
do
make_sized (n)
new_item_agent := a_new_item
end
make_equal (n: INTEGER; a_new_item: like new_item_agent)
do
make (n, a_new_item)
compare_objects
end
feature -- Element change
set_new_item (a_new_item: like new_item_agent)
do
new_item_agent := a_new_item
end
set_new_item_target (target: ANY)
do
new_item_agent.set_target (target)
end
feature {NONE} -- Implementation
new_item (key: K): G
do
Result := new_item_agent (key)
end
feature {NONE} -- Internal attributes
new_item_agent: FUNCTION [K, G]
end