This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

matlab::mex::Function

Base class for C++ MEX functions

Description

The MexFunction class that you implement in C++ MEX functions must inherit from the matlab.mex.Function class. The matlab.mex.Function class enables access to the C++ Engine API and defines a virtual operator() function that your MexFunction class must override.

Class Details

Namespace:

matlab::mex

Include:

mexAdapter.hpp — Include this file only once for the implementation of MexFunction class

Member Functions

operator()

virtual void operator()(ArgumentList outputs, ArgumentList inputs)

Function call operator that you must override in the MexFunction class. This operator enables instances of your MexFunction class to be called like a function.

Parameters

matlab::mex::ArgumentList outputsCollection of matlab::data::Array objects that are returned to MATLAB®
matlab::mex::ArgumentList inputsCollection of matlab::data::Array objects that are passed to the MEX function from MATLAB

Examples

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()

Returns a pointer to the MATLABEngine object, which enables access to the C++ Engine API.

Returns

sdt::shared_ptr<matlab::engine::MATLABEngine>

Pointer to MATLABEngine object

Examples

Call the MATLAB clear function.

std::shared_ptr<MATLABEngine> matlabPtr = getEngine();
matlabPtr->eval(matlab::engine::convertUTF8StringToUTF16String("clear"));

mexLock

void mexLock()

Prevents clearing MEX file from memory. Do not call mexLock or mexUnlock from a user thread.

Examples

Lock the MEX file.

mexLock();

mexUnlock

Unlocks MEX file and allows clearing of the file from memory. Do not call mexLock or mexUnlock from a user thread.

void mexLock()

Examples

Unlock the MEX file.

mexUnlock();

getFunctionName

std::u16string getFunctionName() const

Returns the name of the MEX function, which is the name of the source file.

Examples

Get the file name of the currently executing MEX function.

std::u16string fileName = getFunctionName();

Introduced in R2018a