Main Content

matlab::data::MATLABFieldIdentifier

MATLAB struct 配列のフィールド名の識別に使用する C++ クラス

説明

クラスの詳細

名前空間:

matlab::data

インクルード:

MATLABFieldIdentifier.hpp

コンストラクター

既定のコンストラクター

MATLABFieldIdentifier()

説明

空の MATLABFieldIdentifier を作成します。

スロー

なし

コンストラクター

MATLABFieldIdentifier(std::string str)

説明

std::string から MATLABFieldIdentifier を作成します。

パラメーター

std::string str

フィールド名を含む文字列。

デストラクター

~MATLABFieldIdentifier()

説明

MATLABFieldIdentifier を破棄します。

スロー

なし

コピー コンストラクター

MATLABFieldIdentifier(const MATLABFieldIdentifier& rhs)

説明

MATLABFieldIdentifier オブジェクトの共有データ コピーを作成します。

パラメーター

const MATLABFieldIdentifier& rhs

コピーする値。

スロー

なし

代入演算子のコピー

MATLABFieldIdentifier& operator=(MATLABFieldIdentifier const& rhs)

説明

MATLABFieldIdentifier オブジェクトに共有データ コピーを代入します。

パラメーター

MATLABFieldIdentifier const& rhs

移動させる値。

戻り値

MATLABFieldIdentifier&

更新されたインスタンス。

スロー

なし

移動コンストラクター

MATLABFieldIdentifier(MATLABFieldIdentifier&& rhs)

説明

MATLABFieldIdentifier オブジェクトの内容を新しいインスタンスに移動させます。

パラメーター

MATLABFieldIdentifier&& rhs

移動させる値。

スロー

なし

移動代入演算子

MATLABFieldIdentifier& operator=(MATLABFieldIdentifier&& rhs)

パラメーター

MATLABFieldIdentifier&& rhs

移動させる値。

戻り値

MATLABFieldIdentifier&

更新されたインスタンス。

スロー

なし

デストラクター

~MATLABFieldIdentifier()

説明

MATLABFieldIdentifier を破棄します。

その他の演算子

operator std::string

operator std::string() const

戻り値

std::string

MATLABFieldIdentifier オブジェクトの表現。

スロー

なし

フリー関数

operator==

bool operator==(const MATLABFieldIdentifier& rhs) const

説明

2 つの MATLABFieldIdentifier オブジェクトが同一かどうかをチェックします。

パラメーター

const MATLABFieldIdentifier& rhs

比較する値。

戻り値

bool

オブジェクトが同一の場合は true を返します。それ以外の場合は false を返します。

スロー

なし

構造体の内容の取得

構造体フィールド名を使用して、C++ MEX 関数または C++ Engine プログラムに渡される MATLAB® 構造体のデータにアクセスします。

以下は MEX 関数に渡される構造体です。Date フィールドには、関数 datetime によって返される、構造体の作成日が含まれます。Data フィールドには数値が含まれます。

s = struct("Date",string(datetime("today")),"Data",100);

MEX 関数では、入力を StructArray として格納します。メンバー関数 getFieldNames を使用して、構造体フィールド名を表す MATLABFieldIdentifier 要素の範囲を取得します。2 番目の要素を使用して、Data フィールドから数値を取得します。double 型の要素をもつ TypedArray に数値データを格納します。

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];

バージョン履歴

R2017b で導入