class GLib::PtrArray
Overrides for GPtrArray, GLib's automatically growing array of pointers.
Constants
- POINTER_SIZE
Attributes
element_type[R]
Public Class Methods
add(array, data)
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 34 def self.add(array, data) array.add data end
from_enumerable(type, arr)
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 30 def self.from_enumerable(type, arr) new(type).tap { |it| it.add_array arr } end
new(type)
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 25 def initialize(type) @element_type = type store_pointer Lib.g_ptr_array_new end
Public Instance Methods
==(other)
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 70 def ==(other) to_a == other.to_a end
add(data)
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 43 def add(data) ptr = GirFFI::InPointer.from element_type, data Lib.g_ptr_array_add self, ptr end
add_array(ary)
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 48 def add_array(ary) ary.each { |item| add item } end
data_ptr()
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 52 def data_ptr struct[:pdata] end
each() { |index(idx)| ... }
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 60 def each length.times do |idx| yield index(idx) end end
element_size()
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 56 def element_size POINTER_SIZE end
length()
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 66 def length struct[:len] end
reset_typespec(typespec)
click to toggle source
# File lib/ffi-glib/ptr_array.rb, line 38 def reset_typespec(typespec) @element_type = typespec self end