用于C ++ MEX功能的输入和输出的容器
C ++ MEX功能通过输入和输出matlab :: data :: Array
包含在的对象Matlab :: Mex :: ArgumentList
对象。当MexFunction :: Operator()
接受两个参数,一个用于输入的参数,一个用于输出,定义为Matlab :: Mex :: ArgumentList
。
争论列表
是一种包装器,可以通过保持输入和输出数据的底层集合来实现迭代。
命名空间: |
matlab :: mex. |
包括: |
mex.hpp. |
Matlab :: Data :: Array Operator [](size_t idx)
启用[]
索引到一个元素争论列表
。
|
索引到输入阵列的元素,这是MEX函数的输入参数 |
|
迭代器指向第一个元素 |
从matlab致电MEX功能®使用阵列,标量和字符向量作为输入和单个输出:
A = MyMexfunction(阵列,标量,'字符向量')
将第一个输入参数分配给atypedarray
,第二个输入标量const
双人间
(假设两者都是类型的双人间
在matlab中,第三个输入为一个Matlab :: data :: chararray
。
void运算符()(MATLAB :: MEX ::参数列表输出,MATLAB :: MEX ::参数列表输入){MATLAB ::数据:: TypedArray <双> inArray =输入[0];Const Double Inscalar =输入[1] [0];matlab :: data :: charArray Inchar =输入[2];结果= ...输出[0] =结果;}
iterator_type begin()
返回指向第一个元素的迭代器争论列表
阵列。
|
迭代器指向第一个元素 |
构建输入参数的向量。
void运算符()(MATLAB :: MEX :: ArgumentList输出,Matlab :: Mex :: ArgumentList输入){std :: vector> vectorduble(inputs.begin(),输入。结束());...}
Iterator_type End()
返回一个指向逾期元素的迭代器争论列表
阵列。
|
迭代器指向过去的最后一个元素 |
size_t numargs size()
返回参数列表中的元素数。用于检查呼叫站点指定的输入和输出的数量。
|
大小的 |
确定MEX函数是否包含三个输入参数。
class mexfunction:public matlab :: mex :: function {public:void运算符()(matlab :: mex :: mex :: mex :: mex :: mex :: mex :: mex :: grestiallist输入){if(inputs.size()== 3){// mex函数调用三个输入参数...}}
Bool空()
返回指示参数列表为空的逻辑值。
|
返回逻辑 |
确定是否调用MEX函数,没有输入参数。
类MexFunction:公共MATLAB :: MEX ::功能{公共:void运算符()(MATLAB :: MEX ::参数列表输出,MATLAB :: MEX ::参数列表输入){如果(inputs.empty()){// MEX函数呼叫没有输入参数...}}