defineArgument

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

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

Описание

defineArgument(ConstructorDefinition,CPPName,MATLABType) добавляет определение входного параметра для конструктора C++.

defineArgument(ConstructorDefinition,CPPName,MATLABType,Direction) задает, вводится ли аргумент, выводится, или оба.

defineArgument(ConstructorDefinition,CPPName,MATLABType,Direction,Shape) предоставляет информацию о размерностях данных.

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

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

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

Определение конструктора в виде clibgen.ConstructorDefinition объект.

Имя аргумента C++ в виде строкового скаляра или вектора символов и используется с 'Description' аргумент пары "имя-значение".

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++ для аргумента является строкой, то используйте эти опции, чтобы выбрать значения для MATLABType и Shape аргументы.

Тип C++MATLABTypeDIRECTIONОпции для SHAPE
char*[a]

"int8"

"input"

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

char**
char*[]

"string"

"input"вектор
const char*

"char"

 

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

"string"

"input"

"nullTerminated"

const char**
const char*[]

"char"

"input"

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

"string"

"input"

"nullTerminated"

[a] Эти типы эквивалентны MATLAB char:

  • wchar_t

  • char16_t

  • char32_t

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Описание аргумента C++ в виде строкового скаляра или вектора символов. Это наборы значений свойство Description.

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

'ReleaseOnCall' аргумент не поддерживается для:

  • const аргументы.

  • Двойной указатель (obj** или void**) аргументы, заданные, как выведено.

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

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

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

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

Где заполнить размерности, заданные true или false. По умолчанию, когда вход MATLAB имеет меньше размерностей, чем соответствующий аргумент C++, затем MATLAB вставляет одноэлементные размерности в начале Shape аргумент. Чтобы вставить одноэлементные размерности в конце, установите 'AddTrailingSingletons' к true. Для получения дополнительной информации смотрите, что Размерность Соответствует.

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

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

Введенный в R2019a