Sha256: 73c515199a47264469180043b751d9413f8feca39915914fe54a4d89ee6d51a0

Contents?: true

Size: 424 Bytes

Versions: 10

Compression:

Stored size: 424 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

10 entries across 10 versions & 1 rubygems

Version Path
gir_ffi-0.9.2 lib/ffi-glib/array_methods.rb
gir_ffi-0.9.1 lib/ffi-glib/array_methods.rb
gir_ffi-0.9.0 lib/ffi-glib/array_methods.rb
gir_ffi-0.8.6 lib/ffi-glib/array_methods.rb
gir_ffi-0.8.5 lib/ffi-glib/array_methods.rb
gir_ffi-0.8.4 lib/ffi-glib/array_methods.rb
gir_ffi-0.8.3 lib/ffi-glib/array_methods.rb
gir_ffi-0.8.2 lib/ffi-glib/array_methods.rb
gir_ffi-0.8.1 lib/ffi-glib/array_methods.rb
gir_ffi-0.8.0 lib/ffi-glib/array_methods.rb