Class FFI::Pointer
In: lib/ffi/pointer.rb
Parent: Object

Methods

Constants

SIZE = Platform::ADDRESS_SIZE / 8   Pointer size

Public Class methods

Return the size of a pointer on the current platform, in bytes @return [Numeric]

Public Instance methods

@param [Type] type type of data to read from pointer‘s contents @param [Symbol] reader method to send to self to read type @param [Numeric] length @return [Array] Read an array of type of length length. @example

 ptr.write_array_of_type(TYPE_UINT8, :get_uint8, 4) # -> [1, 2, 3, 4]

@param [nil,Numeric] len length of string to return @return [String] Read pointer‘s contents as a string, or the first len bytes of the equivalent string if len is not nil.

@param [Numeric] len length of string to return @return [String] Read the first len bytes of pointer‘s contents as a string.

Same as:

 ptr.read_string(len)  # with len not nil

@return [String] Read pointer‘s contents as a string.

Same as:

 ptr.read_string  # with no len

@param [Type] type type of data to write to pointer‘s contents @param [Symbol] writer method to send to self to write type @param [Array] ary @return [self] Write ary in pointer‘s contents as type. @example

 ptr.write_array_of_type(TYPE_UINT8, :put_uint8, [1, 2, 3 ,4])

@param [String] str string to write @param [Numeric] len length of string to return @return [self] Write str in pointer‘s contents, or first len bytes if len is not nil.

@param [String] str string to write @param [Numeric] len length of string to return @return [self] Write len first bytes of str in pointer‘s contents.

Same as:

 ptr.write_string(str, len)   # with len not nil

[Validate]