кодер. Класс StructType

Пакет: кодер
Суперклассы: coder.ArrayType

Представляйте набор массивов структур MATLAB

Описание

Задает набор массивов структур, которые должен принять сгенерированный код. Используйте только с опцией -args fiaccel. Не передавайте как вход сгенерированной MEX-функции.

Конструкция

t=coder.typeof(struct_v) создает объект coder.StructType для структуры с теми же полями как скалярная структура struct_v.

t=coder.typeof(struct_v, sz, variable_dims) возвращает измененную копию coder.typeof(struct_v) с (верхней границей) размер, заданный sz и переменными размерностями variable_dims. Если sz задает inf для размерности, то размер размерности принят, чтобы быть неограниченным, и размерность принята, чтобы быть переменная измеренный. Когда sz [], (верхняя граница), размеры struct_v остаются неизменными. Если параметр входа variable_dims не задан, размерности типа приняты, чтобы быть зафиксированными за исключением тех, которые неограниченны. Когда variable_dims является скаляром, он применяется к ограниченным размерностям, которые не являются 1 или 0 (которые приняты, чтобы быть зафиксированными).

t=coder.newtype('struct', struct_v, sz, variable_dims) создает объект coder.StructType для массива структур с теми же полями как скалярная структура struct_v и (верхняя граница) размер sz и переменные размерности variable_dims. Если sz задает inf для размерности, то размер размерности принят, чтобы быть неограниченным, и размерность принята, чтобы быть переменная измеренный. Когда variable_dims не задан, размерности типа приняты, чтобы быть зафиксированными за исключением тех, которые неограниченны. Когда variable_dims является скаляром, он применяется к размерностям типа, кроме того, если размерностью является 1 или 0, который принят, чтобы быть зафиксированным.

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

struct_v

Скалярная структура раньше задавала поля в новом типе структуры.

sz

Вектор размера, задающий каждую размерность текстового объекта.

Значение по умолчанию: [1 1] для coder.newtype

variable_dims

Логический вектор, который задает, является ли каждая размерность переменным размером (TRUE) или (FALSE) фиксированный размер.

Значение по умолчанию: ложь (размер (sz)) | sz == Inf для coder.newtype

Свойства

Alignment

Выравнивание памяти во время выполнения структур этого типа в байтах. Если вы имеете лицензию Embedded Coder® и пользуетесь Заменяющими Библиотеками Кода (CRLs), CRLs обеспечивают способность выровняться, объекты данных передали в заменяющую функцию заданному контуру. Эта возможность позволяет вам использовать в своих интересах целевые реализации функции, которые требуют, чтобы данные были выровнены. По умолчанию структура не выравнивается на определенном контуре, таким образом, она не будет соответствующей функциями CRL, которые требуют выравнивания.

Alignment должен быть или -1 или степень 2, который является не больше, чем 128.

ClassName

Класс значений в этом наборе.

Extern

Задан ли тип структуры внешне.

Fields

Структура, дающая coder.Type каждого поля в структуре.

HeaderFile

Если тип структуры внешне задан, имя заголовочного файла, который содержит внешнее определение структуры, например, "mystruct.h".

По умолчанию сгенерированный код содержит операторы #include для пользовательских заголовочных файлов после стандартных заголовочных файлов. Если стандартный заголовочный файл относится к пользовательскому типу структуры, то компиляция перестала работать. Путем определения опции HeaderFile MATLAB® Coder™ включает тот заголовочный файл точно в точку, где это требуется.

Должен быть непустой символьный вектор или представить скаляр в виде строки.

SizeVector

Размер верхней границы массивов в этом наборе.

VariableDims

Вектор раньше задавал, фиксируется ли каждая размерность массива или переменный размер. Если векторным элементом является true, соответствующая размерность является переменным размером.

Копировать семантику

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

Создайте тип для структуры с полем переменного размера.

x.a = coder.typeof(0,[3 5],1);
x.b = magic(3);
coder.typeof(x)
% Returns 
% coder.StructType
%    1x1 struct
%      a:  :3x:5 double
%      b:  3x3  double
% ':' indicates variable-size dimensions

Введенный в R2011a