indexing
	description: "Bit operations on integer (or, and not)."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"

class interface
	WEL_BIT_OPERATIONS

feature -- Status report

	flag_set (flags, mask: INTEGER): BOOLEAN
			-- Is mask set in flags?
	
feature -- Basic operations

	clear_flag (flags, mask: INTEGER): INTEGER
			-- Clear the mask in flags
		ensure
			flag_unset: not flag_set (Result, mask)

	set_flag (flags, mask: INTEGER): INTEGER
			-- Set the mask in flags
		ensure
			flag_set: flag_set (Result, mask)
	
invariant

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

end -- class WEL_BIT_OPERATIONS