class Dnsruby::Bitmap
Instances of this class can be created that will hold on to bitmap data and be used to test bits and convert to other formats.
Where an array is used to represent bits, the first element (#0) will be the high bit and the last element will be the low (1's column) bit.
Attributes
This is the internal representation of the bitmap value:
Public Class Methods
Creates an instance from a binary string (e.g. “x0C”).
# File lib/dnsruby/bitmap.rb, line 58 def self.from_binary_string(string) new(BitMapping.binary_string_to_number(string)) end
Creates an instance from a bit array (e.g. [1, 0, 0, 1])
# File lib/dnsruby/bitmap.rb, line 68 def self.from_bit_array(array) new(BitMapping.bit_array_to_number(array)) end
Creates an instance from a nonnegative number.
# File lib/dnsruby/bitmap.rb, line 53 def self.from_number(number) new(number) end
Creates an instance from a value array (e.g. [8, 0, 0, 1])
# File lib/dnsruby/bitmap.rb, line 63 def self.from_place_value_array(array) new(BitMapping.place_value_array_to_number(array)) end
Creates an instance from an array of positions for the bits that are set (e.g. [0, 3])
# File lib/dnsruby/bitmap.rb, line 73 def self.from_set_bit_position_array(array) new(BitMapping.set_bit_position_array_to_number(array)) end
# File lib/dnsruby/bitmap.rb, line 99 def initialize(number) BitMapping.assert_non_negative(number) @number = number end
Public Instance Methods
# File lib/dnsruby/bitmap.rb, line 104 def ==(other) other.is_a?(self.class) && other.number == self.number end
Set a new value to number, validating first that it is nonnegative.
# File lib/dnsruby/bitmap.rb, line 34 def number=(new_number) self.assert_non_negative(new_number) @number = new_number end
Returns the instance's value as a binary string (e.g. “x0C”)
# File lib/dnsruby/bitmap.rb, line 80 def to_binary_string(min_length = 0) BitMapping.number_to_binary_string(number, min_length) end
Returns the instance's value as an array of bit column place values (e.g. [8, 0, 0, 1])
# File lib/dnsruby/bitmap.rb, line 90 def to_bit_array BitMapping.number_to_bit_array(number) end
Returns the instance's value as an array of bit column values (e.g. [8, 0, 0, 1])
# File lib/dnsruby/bitmap.rb, line 85 def to_place_value_array BitMapping.number_to_place_value_array(number) end
Returns the instance's value as an array of positions for the bits that are set (e.g. [0, 3])
# File lib/dnsruby/bitmap.rb, line 95 def to_set_bit_position_array BitMapping.number_to_set_bit_positions_array(number) end