Sha256: 156efd8545bf2427983d199f71f18a09ca0bda2a81cc3c73807826180db684b8
Contents?: true
Size: 797 Bytes
Versions: 3
Compression:
Stored size: 797 Bytes
Contents
require 'ffi-glib/list_methods' module GLib load_class :List # Overrides for GList, GLib's doubly linked list implementation. class List include ListMethods # Override default field accessors. undef :next undef :data alias :next :tail alias :data :head class << self undef :new def new type _real_new(FFI::Pointer.new(0)).tap {|it| it.element_type = type} end def from_array type, arr return nil if arr.nil? return arr if arr.is_a? self arr.inject(self.new type) { |lst, val| lst.append val } end end def append data data_ptr = GirFFI::InPointer.from(element_type, data) self.class.wrap(element_type, Lib.g_list_append(self, data_ptr)) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.2.2 | lib/ffi-glib/list.rb |
gir_ffi-0.2.1 | lib/ffi-glib/list.rb |
gir_ffi-0.2.0 | lib/ffi-glib/list.rb |