| MATLAB Application Program Interface Reference | Help Desk |
mxGetClassID
Get (as an enumerated constant) anmxArray's class
#include "matrix.h" mxClassID mxGetClassID(const mxArray *array_ptr);array_ptr The class (category) of the
mxArray that array_ptr points to.
Use mxGetClassId to determine the class of an mxArray. The class of an mxArray identifies the kind of data the mxArray is holding. For example, if array_ptr points to a sparse mxArray, then mxGetClassID returns mxSPARSE_CLASS.
mxGetClassID is similar to mxGetClassName, except that the former returns the class as an enumerated value and the latter returns the class as a string.
Consider a MEX-file that can accept any kind of mxArray as its first input argument. If you intend to take action on the first input argument depending on its class, the first step is to call mxGetClassID.
void
mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray
*prhs[])
{
mxClassID category;
category = mxGetClassID(prhs[0]);
switch(category) {
case mxCHAR_CLASS: analyze_string(prhs[0]); break;
case mxSTRUCT_CLASS: analyze_structure(prhs[0]); break;
case mxSPARSE_CLASS: analyze_sparse(prhs[0]); break;
case mxCELL_CLASS: analyze_cell(prhs[0]); break;
case mxUNKNOWN_CLASS: mexWarnMsgTxt("Unknown class."); break;
default: analyze_numeric(prhs[0]); break;
}
For an additional example, see mxGetClassID.c in the mx subdirectory of the examples directory.
mxGetClassName