Класс 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::stringoperator 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];