Класс 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)
Перемещает содержимое a MATLABFieldIdentifier объект новому экземпляру.
| Значение для перемещения. |
Ничего
MATLABFieldIdentifier& operator=(MATLABFieldIdentifier&& rhs)
| Значение для перемещения. |
| Обновленный экземпляр. |
Ничего
~MATLABFieldIdentifier()
Уничтожить MATLABFieldIdentifier.
operator std::stringoperator std::string() const
| Представление |
Ничего
operator==bool operator==(const MATLABFieldIdentifier& rhs) const
Проверьте, два ли MATLABFieldIdentifier объекты идентичны.
| Сравниваемое значение. |
| Возвращает значение true, если объекты идентичны. В противном случае возвращает значение false. |
Ничего
Доступ к данным в структурах MATLAB ®, которые передаются в функции C++ MEX или программы C++ Engine с использованием имени поля структуры .
Вот структура, переданная функции MEX. Date содержит дату создания структуры, возвращаемую date функция. 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];