matlab::data::StructArray

Класс C++ для доступа к массивам структур MATLAB

Описание

Использование StructArray объекты для работы с MATLAB® массивы структур. Для доступа к полю для одного элемента массива используйте имя поля. Как создать StructArray объект, вызов createStructArray в ArrayFactory класс.

Информации о классе

Пространство имен:

matlab::data

Базовый класс:

TypedArray<Struct>

Включите:

StructArray.hpp

Конструкторы

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

StructArray(const StructArray& rhs)

StructArray(const Array& rhs)

Описание

Создание разделяемых данных копии StructArray объект.

Параметры

const StructArray& rhs

Значение для копирования.

const Array& rhs

Значение, заданное как ArrayType::STRUCT объект.

Броски

matlab::data::InvalidArrayTypeException

Тип входа Array не ArrayType::STRUCT.

Копирование операторов назначения

StructArray& operator=(const StructArray& rhs)

StructArray& operator=(const Array& rhs)

Описание

Назначение разделяемых данных копии StructArray объект.

Параметры

const StructArray& rhs

Значение для копирования.

const Array& rhs

Значение, заданное как ArrayType::STRUCT объект.

Возвраты

StructArray&

Обновленный образец.

Броски

matlab::data::InvalidArrayTypeException

Тип входа Array не ArrayType::STRUCT.

Перемещение конструкторов

StructArray(StructArray&& rhs)

StructArray(Array&& rhs)

Описание

Перемещение содержимого StructArray объект новому образцу.

Параметры

StructArray&& rhs

Значение для перемещения.

Array&& rhs

Значение, заданное как ArrayType::STRUCT объект.

Броски

matlab::data::InvalidArrayTypeException

Тип входа Array не ArrayType::STRUCT.

Перемещение операторов назначения

StructArray& operator=(StructArray&& rhs)

Описание

Назначает вход этому StructArray объект.

Параметры

StructArray&& rhs

Значение для перемещения.

Возвраты

StructArray&

Обновленный образец.

Броски

Ничего

Деструктор

~StructArray()

Описание

Свободная память для StructArray объект.

Представители

getFieldNames

Range<ForwardIterator, MatlabFieldIdentifier const> getFieldNames() const
Возвраты

Range<ForwardIterator, MatlabFieldIdentifier const>

Содержит begin и end итераторы, которые разрешают доступ ко всем полям в StructArray объект.

Броски

Ничего

getNumberOfFields

size_t getNumberOfFields() const
Возвраты

size_t

Количество полей.

Броски

Ничего

Примеры

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

Предположим, что у вас есть следующая структура MATLAB.

s = struct('loc', {'east', 'west'}, 'data', {[1, 2, 3], [4., 5., 6., 7., 8.]})

Создайте переменную, содержащую данные для loc east.

val = s(1).data

Следующий код С++ создает эти переменные.

#include "MatlabDataArray.hpp"

int main() {
	using namespace matlab::data;
	ArrayFactory factory;

	StructArray S = factory.createStructArray({ 1,2 }, { "loc", "data" });
	S[0]["loc"] = factory.createCharArray("east");
	S[0]["data"] = factory.createArray<uint8_t>({ 1, 3 }, { 1, 2, 3 });
	S[1]["loc"] = factory.createCharArray("west");
	S[1]["data"] = factory.createArray<double>({ 1, 5 }, { 4., 5., 6., 7., 8. });

	Reference<Array> val = S[0]["data"];
	return 0;
}
Введенный в R2017b