Класс C++, используемый для идентификации имен полей в массиве структур MATLAB
Пространство имен: | matlab::data |
Включите: | MATLABFieldIdentifier.hpp |
MATLABFieldIdentifier()
Создайте пустую MATLABFieldIdentifier
.
Ничего
MATLABFieldIdentifier(std::string str)
Создайте MATLABFieldIdentifier
от std::string
.
| Строка, содержащая имя поля. |
~MATLABFieldIdentifier()
Уничтожить MATLABFieldIdentifier
.
Ничего
MATLABFieldIdentifier(const MATLABFieldIdentifier&
rhs)
Создание разделяемых данных копии MATLABFieldIdentifier
объект.
| Значение для копирования. |
Ничего
MATLABFieldIdentifier& operator=(MATLABFieldIdentifier
const& rhs)
Назначение разделяемых данных копии MATLABFieldIdentifier
объект.
| Значение для перемещения. |
| Обновленный образец. |
Ничего
MATLABFieldIdentifier(MATLABFieldIdentifier&&
rhs)
Перемещает содержимое MATLABFieldIdentifier
объект новому образцу.
| Значение для перемещения. |
Ничего
MATLABFieldIdentifier& operator=(MATLABFieldIdentifier&&
rhs)
| Значение для перемещения. |
| Обновленный образец. |
Ничего
~MATLABFieldIdentifier()
Уничтожить MATLABFieldIdentifier
.
operator std::string
operator std::string() const
| Представление |
Ничего
operator==
bool operator==(const MATLABFieldIdentifier& rhs)
const
Проверьте, два ли MATLABFieldIdentifier
объекты идентичны.
| Значение, которое нужно сравнить. |
| Возвращает true, если объекты идентичны. В противном случае возвращается false. |
Ничего
Доступ к данным в MATLAB® структуры, которые передаются в функции C++ MEX или программы C++ Engine с именем поля структуры.
Вот структура, переданная в MEX-функцию. The Date
поле содержит дату создания структуры, возвращенную date
функция. The Data
поле содержит числовое значение.
s = struct('Date',date,'Data',100);
В MEX-функция сохраните вход как StructArray
. Используйте getFieldNames
Представитель функцию, чтобы получить область значений MATLABFieldIdentifier
элементы, представляющие имена структурных полей. Используйте второй элемент, чтобы получить числовые данные от Data
поле. Сохраните числовые данные в TypedArray
с элементами типа double
.
matlab::data::StructArray inStruct(inputs[0]); matlab::data::Range<matlab::data::ForwardIterator, matlab::data::MATLABFieldIdentifier const> fields = inStruct.getFieldNames(); const matlab::data::TypedArray<double> data = inStruct[0][fields.begin()[1]]; double cppData = data[0];