class Babeltrace2::BTField::Structure
Public Instance Methods
[]=(member_field, value)
click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 652 def []=(member_field, value) get_member_field(member_field).set_value(value) value end
each() { |get_member_field_by_index(i)| ... }
click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 657 def each if block_given? get_member_count.times { |i| yield get_member_field_by_index(i) } else to_enum(:each) end end
field_names()
click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 676 def field_names klass = get_class get_member_count.times.collect { |i| klass.get_member_by_index(i).name } end
get_member_count()
click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 620 def get_member_count @member_count ||= get_class.get_member_count end
Also aliased as: member_count
get_member_field(member_field)
click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 640 def get_member_field(member_field) case member_field when ::String, Symbol get_member_field_by_name(member_field) when ::Integer get_member_field_by_index(member_field) else raise TypeError, "wrong type for member field query" end end
Also aliased as: []
get_member_field_by_index(index)
click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 625 def get_member_field_by_index(index) count = get_member_count index += count if index < 0 return nil if index >= count || index < 0 BTField.from_handle( Babeltrace2.bt_field_structure_borrow_member_field_by_index(@handle, index)) end
get_member_field_by_name(name)
click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 633 def get_member_field_by_name(name) name = name.inspect if name.kind_of?(Symbol) handle = Babeltrace2.bt_field_structure_borrow_member_field_by_name(@handle, name) return nil if handle.null? BTField.from_handle(handle) end
to_s()
click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 681 def to_s s = "{" klass = get_class s << get_member_count.times.collect { |i| name = klass.get_member_by_index(i).name name = name.inspect if name.kind_of?(Symbol) "#{name}: #{get_member_field_by_index(i)}" }.join(", ") s << "}" end
value()
click to toggle source
# File lib/babeltrace2/trace-ir/field.rb, line 667 def value v = {} klass = get_class get_member_count.times { |i| v[klass.get_member_by_index(i).name] = get_member_field_by_index(i).value } v end