matlab::mex::ArgumentList
C++ MEX 함수의 입력값과 출력값을 위한 컨테이너
설명
C++ MEX 함수는 matlab::mex::ArgumentList
객체에 포함된 matlab::data::Array
객체로 입력값과 출력값을 전달합니다. MexFunction::operator()
는 입력값과 출력값에 각각 하나씩, matlab::mex::ArgumentList
로 정의된 인수 두 개를 받습니다.
ArgumentList
는 래퍼로, 이를 통해 입력 데이터와 출력 데이터가 담겨 있는 기본 컬렉션에 대한 반복이 가능합니다.
클래스 세부 정보
네임스페이스: | matlab::mex |
포함: | mex.hpp |
멤버 함수
operator[ ]
matlab::data::Array operator[](size_t idx)
ArgumentList
의 요소에 대한 []
인덱싱을 활성화합니다.
| MEX 함수에 대한 입력 인수인 입력 배열의 요소에 대한 인덱스 |
|
|
입력값으로 배열, 스칼라 및 문자형 벡터를 사용하고 단일 출력값을 사용하여 MATLAB®에서 MEX 함수를 호출합니다.
a = myMEXFunction(array, scalar, 'character vector')
첫 번째 입력 인수를 TypedArray
에 할당하고, 두 번째 입력 인수를 스칼라 const
double
에 할당하며(둘 다 MATLAB에서 double
형이라고 가정함), 세 번째 입력 인수를 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; }
begin
iterator_type begin()
ArgumentList
배열의 첫 번째 요소를 가리키는 이터레이터를 반환합니다.
|
|
입력 인수에서 벡터를 생성합니다.
void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) { std::vector<matlab::data::TypedArray<double>> vectorDoubles(inputs.begin(), inputs.end()); ... }
end
iterator_type end()
ArgumentList
배열의 마지막 요소를 가리키는 이터레이터를 반환합니다.
|
|
size
size_t size()
인수 목록 내 요소 개수를 반환합니다. 호출하는 위치에서 지정된 입력값과 출력값의 개수를 확인하려면 사용하십시오.
|
|
세 개의 입력 인수를 사용하여 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 ... } }
empty
bool empty()
인수 목록이 비어 있는지 나타내는 논리값을 반환합니다.
| 인수 목록이 비어 있는 경우( |
입력 인수 없이 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에 개발됨