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