matlab::data::ObjectArray

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

Описание

Используйте ObjectArray объекты получить доступ к MATLAB® массивы объектов. Создать ObjectArray, вызовите createArray в ArrayFactory класс с помощью этого синтаксиса:

template <typename ItType, typename T>
TypedArray<T> createArray(ArrayDimensions dims, 
    ItType begin, 
    ItType end)

Чтобы создать скалярный объект, вызовите createScalar использование этого синтаксиса:

ObjectArray createScalar(const Object& val);

ObjectArray задан как:

using ObjectArray = TypedArray<Object>;

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

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

matlab::data

Включение:

ObjectArray.hpp

Вы не можете объединить элементы ObjectArray в разнородный массив.

Если класс, задающий Object переопределения subsref или subsasgn, затем вы не можете получить доступ к элементам ObjectArray.

Примеры

Создайте ObjectArray

Создайте ObjectArray от myObject объекты класса. Итераторы являются указателями на начало и конец массива.

class myObject {
  public:
    const std::vector<matlab::data::Object>& getObjs() const {
       return fObjs;
    }
  private:
    std::vector<matlab::data::Object> fObjs;
};

const myObject& a1;
const myObject& a2;
matlab::data::ArrayFactory factory;
const auto& objs = a1.getObjs();
matlab::data::ObjectArray arr1 = factory.createArray({1,2}, objs.begin(), objs.end());

Выполните итерации через ObjectArray

Выполните итерации использования основанного на области значений цикла for через ObjectArray и получите объекты в массиве.

std::vector<matlab::data::Object> fObjs;

// Use a range-based for loop to iterate over the objects.
for (const auto& o : objs) { 
    fObjs.push_back(o);
}

Объекты в MEX и приложениях Engine

MEX C++ и приложения Engine C++ могут получить и установить значения свойств на объектах MATLAB. Для получения информации о том, как получить доступ к объектам MATLAB в этих приложениях, смотрите эти темы:

Смотрите также

| |

Введенный в R2017b