Class
Wrapper for arrays within a struct
Class Methods
ext/fiddle/lib/fiddle/struct.rb
View on GitHub
# File tmp/rubies/ruby-master/ext/fiddle/lib/fiddle/struct.rb, line 140
def initialize(ptr, type, initial_values)
@ptr = ptr
@type = type
@is_struct = @type.respond_to?(:entity_class)
if @is_struct
super(initial_values)
else
@size = Fiddle::PackInfo::SIZE_MAP[type]
@pack_format = Fiddle::PackInfo::PACK_MAP[type]
super(initial_values.collect { |v| unsigned_value(v, type) })
end
end
No documentation available
Instance Methods
ext/fiddle/lib/fiddle/struct.rb
View on GitHub
# File tmp/rubies/ruby-master/ext/fiddle/lib/fiddle/struct.rb, line 157
def []=(index, value)
if index < 0 || index >= size
raise IndexError, 'index %d outside of array bounds 0...%d' % [index, size]
end
if @is_struct
self[index].replace(value)
else
to_ptr[index * @size, @size] = [value].pack(@pack_format)
super(index, value)
end
end
No documentation available
#
ext/fiddle/lib/fiddle/struct.rb
View on GitHub
# File tmp/rubies/ruby-master/ext/fiddle/lib/fiddle/struct.rb, line 153
def to_ptr
@ptr
end
No documentation available