indexing
description: "A mask for use with a medium poller."
status: "See notice at end of class"
date: "$Date$"
revision: "$Revision$"
class interface
POLL_MASK
create
make
feature
make
feature
mask: SPECIAL [CHARACTER]
TO_SPECIAL
feature
count: INTEGER
feature
is_equal (other: like Current): BOOLEAN
other
require ANY
other_not_void: other /= void
ensure ANY
symmetric: Result implies other.is_equal (Current)
consistent: standard_is_equal (other) implies Result
feature
is_bit_set (b: INTEGER): BOOLEAN
b
is_medium_ready (s: IO_MEDIUM): BOOLEAN
s
require
valid_medium: s /= void and then not s.is_closed
feature
clear
clear_bit (b: INTEGER)
b
ensure
has_cleared: not is_bit_set (b)
clear_medium (s: IO_MEDIUM)
s
require
valid_medium: s /= void and then not s.is_closed
ensure
has_cleared: not is_bit_set (s.handle)
set_bit (b: INTEGER)
b
ensure
has_set: is_bit_set (b)
set_medium (s: IO_MEDIUM)
s
require
valid_medium: s /= void and then not s.is_closed
ensure
has_set: is_bit_set (s.handle)
feature
copy (other: like Current)
other
clone
require ANY
other_not_void: other /= void
type_identity: same_type (other)
ensure ANY
is_equal: is_equal (other)
ensure then
size_valid: count = other.count or else count = mask_size
invariant
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
end -- POLL_MASK