This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

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