Sha256: c81e64ffd6ddf157afefb84f40a35724deda5af8d463efce2c6633420e6523c8
Contents?: true
Size: 727 Bytes
Versions: 11
Compression:
Stored size: 727 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 class << self remove_method :new end def self.new type _real_new.tap do |it| struct = self::Struct.new(FFI::Pointer.new(0)) it.instance_variable_set :@struct, struct it.element_type = type end end def self.from_enumerable type, arr arr.inject(self.new type) { |lst, val| lst.append val } end def append data elm_t = element_type data_ptr = GirFFI::InPointer.from(elm_t, data) self.class.wrap(elm_t, Lib.g_list_append(self, data_ptr)) end end end
Version data entries
11 entries across 11 versions & 1 rubygems