Class: Babeltrace2::BTField::BitArray
Constant Summary
TYPE_MAP
Instance Attribute Summary
#handle
Instance Method Summary
collapse
from_handle, #get_class, #get_class_type
#==, #initialize, #to_ptr
Instance Method Details
#[](position) ⇒ Object
96
97
98
99
100
101
|
# 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) ⇒ Object
103
104
105
106
107
108
109
110
111
|
# 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 ⇒ Object
113
114
115
116
117
118
119
120
121
|
# 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 ⇒ Object
Also known as:
length
91
92
93
|
# File 'lib/babeltrace2/trace-ir/field.rb', line 91
def get_length
@length ||= get_class.get_length
end
|
#get_value_as_integer ⇒ Object
Also known as:
value_as_integer
86
87
88
|
# 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
|
#set_value_as_integer(bits) ⇒ Object
76
77
78
79
|
# 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 ⇒ Object
127
128
129
130
131
|
# 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 ⇒ Object
123
124
125
|
# File 'lib/babeltrace2/trace-ir/field.rb', line 123
def value
get_length.times.collect { |i| self[i] }
end
|
#value_as_integer=(bits) ⇒ Object
81
82
83
84
|
# File 'lib/babeltrace2/trace-ir/field.rb', line 81
def value_as_integer=(bits)
set_value_as_integer(bits)
bits
end
|