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

number[R]

This is the internal representation of the bitmap value:

Public Class Methods

from_binary_string(string) click to toggle source

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
from_bit_array(array) click to toggle source

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
from_number(number) click to toggle source

Creates an instance from a nonnegative number.

# File lib/dnsruby/bitmap.rb, line 53
def self.from_number(number)
  new(number)
end
from_place_value_array(array) click to toggle source

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
from_set_bit_position_array(array) click to toggle source

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
new(number) click to toggle source
# File lib/dnsruby/bitmap.rb, line 99
def initialize(number)
  BitMapping.assert_non_negative(number)
  @number = number
end

Public Instance Methods

==(other) click to toggle source
# File lib/dnsruby/bitmap.rb, line 104
def ==(other)
  other.is_a?(self.class) && other.number == self.number
end
number=(new_number) click to toggle source

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
to_binary_string(min_length = 0) click to toggle source

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
to_bit_array() click to toggle source

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
to_place_value_array() click to toggle source

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
to_set_bit_position_array() click to toggle source

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