matlab::data:: StructArray

Класс C++, чтобы получить доступ к массивам структур MATLAB

Описание

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

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

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

matlab::data

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

TypedArray<Struct>

Включение:

StructArray. hpp

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

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

StructArray(const StructArray& rhs)

StructArray(const Array& rhs)

Описание

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

Параметры

const StructArray& rhs

Значение, чтобы скопировать.

const Array& rhs

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

Броски

InvalidArrayTypeException

Типом входного параметра Array не является ArrayType::STRUCT Struct ().

Копирование операторов присваивания

StructArray& operator=(const StructArray& rhs)

StructArray& operator=(const Array& rhs)

Описание

Присваивает, разделяемые данные копируют в объект StructArray.

Параметры

const StructArray& rhs

Значение, чтобы скопировать.

const Array& rhs

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

Возвращается

StructArray

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

Броски

InvalidArrayTypeException

Типом входного параметра Array не является ArrayType::STRUCT Struct ().

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

StructArray(StructArray&& rhs)

StructArray(Array&& rhs)

Описание

Содержимое перемещений объекта StructArray к новому экземпляру.

Параметры

StructArray&& rhs

Значение, чтобы переместиться.

Array&& rhs

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

Броски

InvalidArrayTypeException

Типом входного параметра Array не является ArrayType::STRUCT 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

Была ли эта тема полезной?