Sha256: db62b57493432fbb93873ea17b4b14e18be373f0775dfef426fed06e48320f6b

Contents?: true

Size: 423 Bytes

Versions: 5

Compression:

Stored size: 423 Bytes

Contents

module GLib
  # Common methods for GLib::Array and GLib::PtrArray
  module ArrayMethods
    # Re-implementation of the g_array_index and g_ptr_array_index macros
    def index idx
      if idx >= length || idx < 0
        raise IndexError, "Index #{idx} outside of bounds 0..#{length - 1}"
      end
      ptr = GirFFI::InOutPointer.new element_type, data_ptr + idx * element_size
      ptr.to_ruby_value
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gir_ffi-0.7.10 lib/ffi-glib/array_methods.rb
gir_ffi-0.7.9 lib/ffi-glib/array_methods.rb
gir_ffi-0.7.8 lib/ffi-glib/array_methods.rb
gir_ffi-0.7.7 lib/ffi-glib/array_methods.rb
gir_ffi-0.7.6 lib/ffi-glib/array_methods.rb