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&

Обновленный пример.

Броски

'none'

Деструктор

~StructArray()

Описание

Освободите память для StructArray объект.

Функции членства

getFieldNames

Range<ForwardIterator, MatlabFieldIdentifier const> getFieldNames() const
Возвращается

Range<ForwardIterator, MatlabFieldIdentifier const>

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

Броски

'none'

getNumberOfFields

size_t getNumberOfFields() const
Возвращается

size_t

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

Броски

'none'

Примеры

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

Примите, что у вас есть следующая структура 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