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

### Methods

read_array_of_type read_string read_string_length read_string_to_null size write_array_of_type write_string write_string_length

### Constants

SIZE | = | Platform::ADDRESS_SIZE / 8 |  | Pointer size

### Public Class methods

size()

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

### Public Instance methods

read_array_of_type(type, reader, length)

@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]

read_string(len=nil)

@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`.

read_string_length(len)

@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

read_string_to_null()

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

Same as:

     ptr.read_string  # with no len

write_array_of_type(type, writer, ary)

@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])

write_string(str, len=nil)

@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`.

write_string_length(str, len)

@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]