Main Content

lib.pointer class

Package: lib

Pointer object compatible with C pointer

Description

MATLAB® automatically converts arguments passed by reference to a function in an external library. A passed-by-reference argument in the function signature has type names ending with Ptr or PtrPtr. Use a pointer object instead of automatic conversion in the following situations.

  • The function modifies data in an input argument.

  • You are passing large amounts of data, and you want to control when MATLAB makes copies of the data.

  • The library stores and uses the pointer, so you want the MATLAB function to control the lifetime of the lib.pointer object.

Creation

To create a lib.pointer object, use the MATLAB libpointer function.

A library function can return a lib.pointer object. Use the setdatatype method to convert the argument manually to use in MATLAB.

Properties

expand all

Type of pointer, specified as a character vector, of any MATLAB numeric type, structure defined in the library, or enumeration defined in the library. For a list of valid MATLAB numeric types, refer to these tables in C and MATLAB Equivalent Types.

  • MATLAB Primitive Types

  • MATLAB Extended Types

Example: 'int16Ptr'

Attributes:

SetAccess
private
GetAccess
protected

Value, specified as any valid value for given type.

Attributes:

SetAccess
private
GetAccess
protected

Methods

expand all

Examples

collapse all

Create a pointer pv of type int16 initialized to 485.

pv = libpointer('int16Ptr',485);

Display the properties of pv.

get(pv)
       Value: 485
    DataType: 'int16Ptr'
Introduced before R2006a