Sha256: ebeb06f99da8cf75eb9714f9a4ca52b038afef92d28d2abfdfbd6f9e1d3eda06

Contents?: true

Size: 425 Bytes

Versions: 44

Compression:

Stored size: 425 Bytes

Contents

# Demonstration program for FFI functionality.
#
# Show what happens if we call layout again in a subclass. This works in
# JRuby, but not in MRI (gives warnings with ffi 0.6.3, is explicitely
# forbidden later).
#
require 'ffi'

class Foo < FFI::Struct
  layout :a, :int, :b, :int
end

class Bar < Foo
  layout :p, Foo, :c, :int
end

bar = Bar.new
foo = Foo.new(bar.to_ptr)
foo[:a] = 20
puts "bar[:p][:a] = #{bar[:p][:a]}"

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
gir_ffi-0.7.6 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.7.5 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.7.4 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.7.3 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.7.2 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.7.1 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.7.0 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.6.7 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.6.6 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.6.5 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.6.4 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.6.3 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.6.2 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.6.1 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.6.0 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.5.2 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.5.1 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.5.0 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.4.3 examples/demo_ffi_inherited_layout.rb
gir_ffi-0.4.2 examples/demo_ffi_inherited_layout.rb