indexing
description: "References to objects containing a boolean value"
status: "See notice at end of class"
date: "$Date$"
revision: "$Revision$"
class interface
BOOLEAN_REF
feature
hash_code: INTEGER
ensure HASHABLE
good_hash_value: Result >= 0
item: BOOLEAN
feature
is_hashable: BOOLEAN
ensure HASHABLE
ok_if_not_default: Result implies (Current /= default)
feature
set_item (b: BOOLEAN)
bitem
feature
to_integer: INTEGER
True
False
ensure
zero_or_one: Result = 0 or Result = 1
item_implies_one: item implies Result = 1
feature
infix "and" (other: like Current): BOOLEAN
other
require
other_exists: other /= void
ensure
de_morgan: Result = not (not Current or not other)
commutative: Result = (other and Current)
consistent_with_semi_strict: Result implies (Current and then other)
infix "and then" (other: like Current): BOOLEAN
other
require
other_exists: other /= void
ensure
de_morgan: Result = not (not Current or else not other)
infix "implies" (other: like Current): BOOLEAN
other
require
other_exists: other /= void
ensure
definition: Result = (not Current or else other)
prefix "not": like Current
infix "or" (other: like Current): BOOLEAN
other
require
other_exists: other /= void
ensure
de_morgan: Result = not (not Current and not other)
commutative: Result = (other or Current)
consistent_with_semi_strict: Result implies (Current or else other)
infix "or else" (other: like Current): BOOLEAN
other
require
other_exists: other /= void
ensure
de_morgan: Result = not (not Current and then not other)
infix "xor" (other: like Current): BOOLEAN
other
require
other_exists: other /= void
ensure
definition: Result = ((Current or other) and not (Current and other))
feature
out: STRING
invariant
involutive_negation: is_equal (not (not Current))
non_contradiction: not (Current and (not Current))
completeness: Current or else (not Current)
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
indexing
library: "[
EiffelBase: Library of reusable components for Eiffel.
]"
status: "[
Copyright 1986-2001 Interactive Software Engineering (ISE).
For ISE customers the original versions are an ISE product
covered by the ISE Eiffel license and support agreements.
]"
license: "[
EiffelBase may now be used by anyone as FREE SOFTWARE to
develop any product, public-domain or commercial, without
payment to ISE, under the terms of the ISE Free Eiffel Library
License (IFELL) at http://eiffel.com/products/base/license.html.
]"
source: "[
Interactive Software Engineering Inc.
ISE Building
360 Storke Road, Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Electronic mail <info@eiffel.com>
Customer support http://support.eiffel.com
]"
info: "[
For latest info see award-winning pages: http://eiffel.com
]"
end -- BOOLEAN_REF