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