coder.StructType class

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

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

Описание

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

Конструкция

Примечание

Можно также создавать и редактировать coder.Type объекты в интерактивном режиме с помощью редактора типов кодеров. См. «Создание и редактирование входных типов при помощи редактора типов кодеров».

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).

По умолчанию: false (sz)) | sz = = Inf дляcoder.newtype

Свойства

Alignment

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

Alignment должно быть либо -1 или степень 2 это не более 128.

ClassName

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

Extern

Является ли тип структуры внешне определенным.

Fields

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

HeaderFile

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

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

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

SizeVector

Верхний размер массивов в этом наборе.

VariableDims

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

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

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

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

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