Class: Babeltrace2::BTField::Integer::Unsigned

Inherits:
Babeltrace2::BTField::Integer show all
Defined in:
lib/babeltrace2/trace-ir/field.rb

Direct Known Subclasses

Enumeration::Unsigned

Constant Summary

Constants inherited from Babeltrace2::BTField

TYPE_MAP

Instance Attribute Summary

Attributes inherited from Babeltrace2::BTObject

#handle

Instance Method Summary collapse

Methods inherited from Babeltrace2::BTField::Integer

#get_field_value_range, #get_preferred_display_base

Methods inherited from Babeltrace2::BTField

from_handle, #get_class, #get_class_type

Methods inherited from Babeltrace2::BTObject

#==, #initialize, #to_ptr

Constructor Details

This class inherits a constructor from Babeltrace2::BTObject

Instance Method Details

#get_valueObject Also known as: value



171
172
173
# File 'lib/babeltrace2/trace-ir/field.rb', line 171

def get_value
  Babeltrace2.bt_field_integer_unsigned_get_value(@handle)
end

#set_value(value) ⇒ Object



160
161
162
163
164
# File 'lib/babeltrace2/trace-ir/field.rb', line 160

def set_value(value)
  raise "invalid range" if (1 << get_field_value_range) - 1 < value || value < 0
  Babeltrace2.bt_field_integer_unsigned_set_value(@handle, value)
  self
end

#to_sObject



176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# File 'lib/babeltrace2/trace-ir/field.rb', line 176

def to_s
  v = get_value
  case preferred_display_base
  when :BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_BINARY
    "0b#{v.to_s(2)}"
  when :BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_OCTAL
    "0#{v.to_s(8)}"
  when :BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_DECIMAL
    v.to_s
  when :BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_HEXADECIMAL
    "0x#{v.to_s(16)}"
  else
    raise "invalid preffered display base"
  end
end

#value=(value) ⇒ Object



166
167
168
169
# File 'lib/babeltrace2/trace-ir/field.rb', line 166

def value=(value)
  set_value(value)
  value
end