Class: GLib::List
Overview
Overrides for GList, GLib’s doubly linked list implementation.
Instance Attribute Summary
Attributes included from ListMethods
#element_type
Class Method Summary
collapse
Instance Method Summary
collapse
#each, #head, included, replace_method, #reset_typespec, #tail
Class Method Details
.from_enumerable(type, arr) ⇒ Object
22
23
24
25
|
# File 'lib/ffi-glib/list.rb', line 22
def self.from_enumerable type, arr
arr.inject(self.new type) { |lst, val|
lst.append val }
end
|
.new(type) ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/ffi-glib/list.rb', line 14
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
|
Instance Method Details
#append(data) ⇒ Object
27
28
29
30
31
|
# File 'lib/ffi-glib/list.rb', line 27
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
|