class Babeltrace2::BTField::BitArray

Public Instance Methods

[](position) click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 96
def [](position)
  length = get_length
  position += length if position < 0
  raise "invalid position" if position >= length || position < 0
  get_value_as_integer[position] != 0
end
[]=(position, bool) click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 103
def []=(position, bool)
  length = get_length
  position += length if position < 0
  raise "invalid position" if position >= length || position < 0
  v = get_value_as_integer
  if bool then v |= (1 << position) else v &= ~(1 << position) end
  set_value_as_integer(v)
  bool
end
each() { |self| ... } click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 113
def each
  if block_given?
    length.times { |i|
      yield self[i]
    }
  else
    to_enum(:each)
  end
end
get_length() click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 91
def get_length
  @length ||= get_class.get_length
end
Also aliased as: length
get_value_as_integer() click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 86
def get_value_as_integer
  Babeltrace2.bt_field_bit_array_get_value_as_integer(@handle)
end
Also aliased as: value_as_integer
length()
Alias for: get_length
set_value_as_integer(bits) click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 76
def set_value_as_integer(bits)
  Babeltrace2.bt_field_bit_array_set_value_as_integer(@handle, bits)
  self
end
to_s() click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 127
def to_s
  s = "["
  s << get_length.times.collect { |i| self[i] }.join(", ")
  s << "]"
end
value() click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 123
def value
  get_length.times.collect { |i| self[i] }
end
value_as_integer()
value_as_integer=(bits) click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 81
def value_as_integer=(bits)
  set_value_as_integer(bits)
  bits
end