matlab::mex::ArgumentList

Контейнер для входов и выходов от функций C++ MEX

Описание

MEX-функции передают входы и выходы следующим matlab::data::Array объекты, содержащиеся в matlab::mex::ArgumentList объекты. The MexFunction::operator() принимает два аргумента, один для входов и один для выходов, определенных как matlab::mex::ArgumentList.

ArgumentList является оберткой, позволяющей проводить итерацию по базовым наборам, содержащим входные и выходные данные.

Информации о классе

Пространство имен:

matlab::mex

Включите:

mex.hpp

Представители

оператор []

matlab::data::Array operator[](size_t idx)

Включает [] индексация в элементы ArgumentList.

Параметры

size_t idx

Индекс в элементы входного массива, которые являются входными параметрами в MEX-функцию
Возвраты

matlab::data::Array

Итератор, указывающий на первый элемент в ArgumentList массив

Примеры

Вызов MEX-функции из MATLAB® с массивом, скаляром и вектором символов в качестве входов и с одним выходом:

a = myMEXFunction(array, scalar, 'character vector')

Присвойте первый входной параметр TypedArray, второй вход в скаляр const double (предположим, что оба типа double в MATLAB), и третий вход как matlab::data::CharArray.

void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
    matlab::data::TypedArray<double> inArray = inputs[0];
    const double inScalar = inputs[1][0];
    matlab::data::CharArray inChar = inputs[2];
    result = ...
    outputs[0] = result;
}

начать

iterator_type begin()

Возвращает итератор, указывающий на первый элемент в ArgumentList массив.

Возвраты

iterator_type

Итератор, указывающий на первый элемент в ArgumentList массив

Примеры

Создайте вектор из входных параметров.

void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
    std::vector<matlab::data::TypedArray<double>> vectorDoubles(inputs.begin(), inputs.end());
    ...
}

конец

iterator_type end()

Возвращает итератор, указывающий мимо последнего элемента в ArgumentList массив.

Возвраты

iterator_type

Итератор, указывающий мимо последнего элемента в ArgumentList массив

размер

size_t numArgs size()

Возвращает количество элементов в списке аргументов. Используется для проверки количества входов и выходов, заданных в узле вызова.

Возвраты

size_t

Размер ArgumentList массив

Примеры

Определите, вызывается ли MEX-функция с тремя входными параметрами.

class MexFunction : public matlab::mex::Function {
public:
    void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
    if (inputs.size() == 3) {
        // MEX function called with three input arguments
        ...
    }
}

пустой

bool empty()

Возвращает логическое значение, указывающее, пуст ли список аргументов.

Возвраты

bool

Возвращает логический true если список аргументов пуст (size() == 0)

Примеры

Определите, вызывается ли MEX-функция без входных параметров.

class MexFunction : public matlab::mex::Function {
public:
    void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
    if (inputs.empty()) {
        // MEX function called with no input arguments
        ...
    }
}
Введенный в R2018a