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® type, заданный как строковый скаляр или вектор символов. Для получения дополнительной информации см. Раздел «Параметр 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++ не должна освобождать эту память. Изменить это поведение для не - const аргумент, установите 'ReleaseOnCall' параметр в true. The 'ReleaseOnCall' параметр не поддерживается для const аргументы.

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

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

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

Типы данных: logical

Введенный в R2019a