defineArgument

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

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

Синтаксис

defineArgument(funcDef,argName,mltype)
defineArgument(funcDef,argName,mltype,direction)
defineArgument(funcDef,argName,mltype,direction,shape)
defineArgument(___,argDesc)
defineArgument(___,'ReleaseOnCall',ownership)

Описание

defineArgument(funcDef,argName,mltype) добавляет определение входного параметра для функции пакета C++.

defineArgument(funcDef,argName,mltype,direction) задает, вводится ли аргумент, выводится, или оба.

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

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

defineArgument(___,'ReleaseOnCall',ownership) определяет владение памяти аргумента.

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

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

Функциональное определение в виде clibgen.FunctionDefinition объект.

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

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

Тип аргумента в виде "input" для входного параметра, "output" для выходного аргумента или "inputoutput" и для входа и для выходного аргумента. Для получения дополнительной информации смотрите Параметр НАПРАВЛЕНИЯ.

Определение размерности, используемое 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++ в виде строкового скаляра или вектора символов.

Передайте владение памяти аргумента, заданного true или false и используемый с 'ReleaseOnCall' параметр. MATLAB владеет памятью, которая выделяется как указатель или ссылка для входного параметра. Библиотека C++ не должна освобождать эту память. Изменить это поведение для non-const аргумент, набор 'ReleaseOnCall' параметр к true. 'ReleaseOnCall' параметр не поддерживается для const аргументы.

Если 'ReleaseOnCall' не задан, затем ownership является ложным.

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

Пример: 'ReleaseOnCall',true

Типы данных: логический

Введенный в R2019a