True if mxArray is empty
C Syntax
#include "matrix.h"
bool mxIsEmpty(const mxArray *array_ptr);
Arguments
array_ptr
Pointer to an array.
Returns
true if the mxArray is empty; otherwise, returns false.
Description
Use mxIsEmpty to determine if an mxArray is empty. An mxArray is empty if the size of any of its dimensions is 0.
Attempts to access empty mxArray cause undesirable behavior. To avoid accessing empty arrays, test them by calling mxIsEmpty.
Note that mxIsEmpty is not the opposite of mxIsFull.
Examples
mxGetScalar returns an indeterminate value if passed an empty mxArray.
To avoid this situation, call mxIsEmpty first:
void
mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray
*prhs[])
{
double value;
/* If array is empty, it would not be good to access it. */
if (mxIsEmpty(prhs[0]))
mexErrMsgTxt("You cannot pass an empty array.\n");
else {
value = mxGetScalar(prhs[0]);
mexPrintf("First real value is %g\n", value);
}
}
For an additional example, see mxisempty.c in the mx subdirectory of the examples directory.
See Also
mxIsClass
[ Previous | Help Desk | Next ]