matlab::mex::Function
C++ MEX 関数の基底クラス
説明
C++ MEX 関数に実装する MexFunction クラスは、matlab.mex.Function クラスから継承しなければなりません。matlab.mex.Function クラスを使用すると、C++ エンジン API へのアクセスが可能になり、MexFunction クラスによってオーバーライドしなければならないバーチャル関数 operator() が定義されます。
クラスの詳細
名前空間: | matlab::mex |
インクルード: | mexAdapter.hpp — このファイルは、MexFunction クラスの実装用に 1 回だけ含めます。 |
メンバー関数
operator()
virtual void operator()(ArgumentList outputs, ArgumentList inputs)MexFunction クラス内でオーバーライドしなければならない関数呼び出し演算子。この演算子を使用すると、MexFunction クラスのインスタンスを関数のように呼び出すことができます。
パラメーター
matlab::mex::ArgumentList outputs | MATLAB® に返される matlab::data::Array オブジェクトの集合 |
matlab::mex::ArgumentList inputs | MATLAB から MEX 関数に渡される matlab::data::Array オブジェクトの集合 |
例
class MexFunction : public matlab::mex::Function {
public:
void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
...
}
}getEngine
std::shared_ptr<matlab::engine::MATLABEngine> getEngine()MATLABEngine オブジェクトを指すポインターを返します。これにより、C++ エンジン API へのアクセスが可能になります。
戻り値
|
|
例
MATLAB の関数 clear を呼び出します。
std::shared_ptr<MATLABEngine> matlabPtr = getEngine();
matlabPtr->eval(matlab::engine::convertUTF8StringToUTF16String("clear"));
mexLock
void mexLock()MEX ファイルがメモリからクリアされないようにします。mexLock や mexUnlock は、ユーザー スレッドから呼び出さないでください。
例
MEX ファイルをロックします。
mexLock();mexUnlock
MEX ファイルのロックを解除して、メモリからクリアできるようにします。mexLock や mexUnlock は、ユーザー スレッドから呼び出さないでください。
void mexLock()例
MEX ファイルのロックを解除します。
mexUnlock();getFunctionName
std::u16string getFunctionName() constMEX 関数の名前を返します。これはソース ファイルの名前です。
例
現在実行中の MEX 関数のファイル名を取得します。
std::u16string fileName = getFunctionName();バージョン履歴
R2018a で導入