INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

description: "``Active%'%' data structures, which at every stage have ", "a possibly undefined ``current item%'%'. ", "Basic access and modification operations apply to the ", "current item. "
title: "EiffelBase: library of reusable components for Eiffel. ", "Based on EiffelBase library for ISE Eiffel, ", "used with permission. "
project: "EiffelBase Library"
copyright: "(c) 1986-1997 Interactive Software Engineering Inc. ", "Modifications and extensions: ", "(c) 1997 Object Tools ", "All rights reserved. Duplication and distribution prohibited", "May be used only with Visual Eiffel under terms of user ", "license "
key: active, access
cluster: eiffelbase
deferred class ACTIVE [G]
inherit

BAG [G]
end
feature -- Access

item: G
-- Current item
require
readable: readable
feature -- Status report

readable: BOOLEAN
-- Is there a current item that may be read?

writable: BOOLEAN
-- Is there a current item that may be modified?
feature -- Element change

replace (v: G)
-- Replace current item by `v'.
require
writable: writable
ensure
item_replaced: item = v
feature -- Removal

remove
-- Remove current item.
require
prunable: prunable
writable: writable
invariant

writable_constraint: writable implies readable
empty_constraint: empty implies (not readable) and (not writable)
end -- class ACTIVE

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES