defineOutput

Класс: clibgen.MethodDefinition
Пакет: clibgen

Добавьте определение выходного аргумента для метода C++

Синтаксис

defineOutput(methodDef,argName,mltype)
defineOutput(methodDef,argName,mltype,shape)
defineOutput(___,argDesc)
defineOutput(___,'DeleteFcn',deleteFcn)

Описание

defineOutput(methodDef,argName,mltype) добавляет определение выходного аргумента для метода C++.

defineOutput(methodDef,argName,mltype,shape) предоставляет информацию о размерностях данных.

defineOutput(___,argDesc) добавляет описание аргумента и может включать любой из входных параметров в предыдущих синтаксисах.

defineOutput(___,'DeleteFcn',deleteFcn) задает функцию средства удаления библиотеки C++, чтобы управлять памятью об аргументе.

Входные параметры

развернуть все

Определение метода в виде clibgen.MethodDefinition объект.

Выходной аргумент C++ называет в виде строкового скаляра или вектора символов.

Тип MATLAB® в виде строкового скаляра или вектора символов. Для получения дополнительной информации см. Параметр MLTYPE.

Определение размерности, используемое MATLAB, чтобы задать размерности данных в виде вектора строки, скалярного текста, положительного целочисленного вектора, "nullTerminated", или массив ячеек. Для массива ячеек элементами является комбинация скалярного текста и скалярных положительных целых чисел. Для получения дополнительной информации смотрите Параметр SHAPE.

Если можно задать размерность аргумента как фиксированное скалярное значение, то введите номер, такой как 5.

Если размерность задана другим аргументом, то введите имя аргумента как строку. Например, рассмотрите следующую подпись C++. Если аргумент len задает длину data, затем значение shape "len".

myFunc(const int *data, int len)

Если размер аргумента задан массивом, то значение shape одно из следующего:

  • 1

  • Фиксированные размерности: Введите числовой массив, такой как [5,2].

  • Переменные размерности: Введите массив строк названий параметра, таких как ["row","col"]

Если тип C++ для аргумента является строкой, то используйте эти опции, чтобы выбрать значения для mltype и shape аргументы.

Тип C++MLTYPEОпции для SHAPE
char*

"int8"

Скалярное значение
Массив скалярных значений

char**
char*[]

"string"

вектор
const char*

"char"

Скалярное значение
Массив скалярных значений

"string"

"nullTerminated"

const char**
const char*[]

"char"

Скалярное значение
Массив скалярных значений

"string"

"nullTerminated"

Для получения дополнительной информации смотрите C++ к Отображению типа данных MATLAB.

Описание аргумента C++ в виде строкового скаляра или вектора символов.

Функция средства удаления в виде строкового скаляра или вектора символов. Средство удаления может быть стандартом C++ delete оператор или пользовательская функция. Если C++ возвращается, типом является void*, затем deleteFcn должна быть пользовательская функция. Если функция возвращает указатель, то MATLAB берет владение и управляет жизненным циклом памяти, представленной аргументом. Если deleteFcn не задан, затем библиотека ответственна за управление память.

Если вы задаете библиотечную функцию для функции средства удаления, то эта функция не включена в интерфейс, и пользователи не могут вызвать функцию из MATLAB. Пользователь MATLAB вызывает MATLAB delete функция, которая вызывает функцию, заданную deleteFcn.

Пример: 'DeleteFcn','objFree'

Введенный в R2019a