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() const
MEX 関数の名前を返します。これはソース ファイルの名前です。
現在実行中の MEX 関数のファイル名を取得します。
std::u16string fileName = getFunctionName();
バージョン履歴
R2018a で導入