Class FFI::MemoryPointer
In: lib/ffi/memorypointer.rb
lib/ffi/memorypointer.rb
Parent: Object

Methods

Public Class methods

def self.new(type, count=nil, clear=true)

  size = if type.kind_of? Fixnum
    type
  elsif type.kind_of? Symbol
    FFI.type_size(type)
  else
    type.size
  end
  ptr = self.__allocate(size, count, clear)
  ptr.type_size = size
  if block_given?
    begin
      value = yield ptr
    ensure
      ptr.free
    end
    value
  else
    ptr
  end

end

def self.new(type, count=nil, clear=true)

  size = if type.kind_of? Fixnum
    type
  elsif type.kind_of? Symbol
    FFI.type_size(type)
  else
    type.size
  end
  ptr = self.__allocate(size, count, clear)
  ptr.type_size = size
  if block_given?
    begin
      value = yield ptr
    ensure
      ptr.free
    end
    value
  else
    ptr
  end

end

[Validate]