defineArgument

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

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

Синтаксис

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

Описание

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

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

defineArgument(methodDef,argName,mltype,direction,shape) содержит информацию об размерностях данных.

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

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

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

расширить все

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

Имя аргумента 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