Very minimalistic, pure Ruby implementation of bit set. Inspired by java.util.BitSet, although significantly smaller in scope.
Clears all bits in the set @api public
# File lib/amqp/bit_set.rb, line 57 def clear self.init_words(@nbits) end
Fetches flag value for given bit.
@param [Integer] A bit to fetch @return [Boolean] true if given bit is set, false otherwise @api public
# File lib/amqp/bit_set.rb, line 37 def get(i) w = self.word_index(i) (@words[w] & (1 << i)) != 0 end
Sets (flags) given bit. This method allows bits to be set more than once in a row, no exception will be raised.
@param [Integer] A bit to set @api public
# File lib/amqp/bit_set.rb, line 27 def set(i) w = self.word_index(i) @words[w] |= (1 << i) end
Unsets (unflags) given bit. This method allows bits to be unset more than once in a row, no exception will be raised.
@param [Integer] A bit to unset @api public
# File lib/amqp/bit_set.rb, line 48 def unset(i) w = self.word_index(i) return if w.nil? @words[w] &= ~(1 << i) end
Generated with the Darkfish Rdoc Generator 2.