Sha256: 76da4663a4e0420c4f3026fc4149ebb710838efd071c5b3e25bc4771fd22fdbb
Contents?: true
Size: 897 Bytes
Versions: 6
Compression:
Stored size: 897 Bytes
Contents
# frozen_string_literal: true module GLib # Common methods for container classes: Array, PtrArray, List, SList and # HashTable. module ContainerClassMethods def wrap(typespec, ptr) # HACK: wrap and from are almost the same! ptr = case ptr when nil nil when FFI::Pointer ptr when self ptr.to_ptr when GirFFI::BoxedBase ptr.to_ptr end super(ptr).tap do |container| container.reset_typespec typespec if container end end def from(typespec = :void, it) case it when nil nil when FFI::Pointer wrap typespec, it when self it.reset_typespec typespec when GirFFI::BoxedBase wrap typespec, it.to_ptr else from_enumerable typespec, it end end end end
Version data entries
6 entries across 6 versions & 1 rubygems