class interface MEMO[E]
-- This strange tiny class is useful to share a common volatile expanded value between different objects or as the
-- result of a once function.
-- So in most cases the E type is expanded and the reference to the MEMO[E] container object is shared.
-- Other name for MEMO is sometimes CELL.
-- Note for release 2.1, the new name for this class will be simply REFERENCE.
creation
default_create
-- Default creation method. It is used when no creation
-- method is specified if allowed. Note it may be renamed.
set_item (i: E)
ensure
item = i
feature(s) from MEMO
item: E
set_item (i: E)
ensure
item = i
clear
-- Reset item with the default value.
end of MEMO[E]