Sha256: d3083d88e25561249fbc6b8bfad3d399e733c25bc51789f57e57ec9ecafc0a9d
Contents?: true
Size: 727 Bytes
Versions: 3
Compression:
Stored size: 727 Bytes
Contents
# frozen_string_literal: true require 'ffi' module GObjectIntrospection # Represents a null-terminated array of strings. # GLib uses this # construction, but does not provide any actual functions for this class. class Strv include Enumerable POINTER_SIZE = FFI.type_size(:pointer) def initialize(ptr) @ptr = ptr end def to_ptr @ptr end def each offset = 0 while (ptr = fetch_ptr offset) offset += POINTER_SIZE yield ptr.read_string end end def self.wrap(ptr) new ptr end private def fetch_ptr(offset) return if @ptr.null? ptr = @ptr.get_pointer offset ptr unless ptr.null? end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.14.1 | lib/ffi-gobject_introspection/strv.rb |
gir_ffi-0.14.0 | lib/ffi-gobject_introspection/strv.rb |
gir_ffi-0.13.1 | lib/ffi-gobject_introspection/strv.rb |