Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

mxIsClass (C and Fortran)

Determine whether array is member of specified class

C Syntax

#include "matrix.h"
bool mxIsClass(const mxArray *pm, const char *classname);

Fortran Syntax

integer*4 mxIsClass(pm, classname)
mwPointer pm
character*(*) classname

Arguments

pm

Pointer to an mxArray

classname

Array category you are testing. Specify classname as a string (not as an integer identifier). You can specify any one of the following predefined constants:

Value of classname

Corresponding Class

cell

mxCELL_CLASS

char

mxCHAR_CLASS

double

mxDOUBLE_CLASS

function_handle

mxFUNCTION_CLASS

int8

mxINT8_CLASS

int16

mxINT16_CLASS

int32

mxINT32_CLASS

int64

mxINT64_CLASS

logical

mxLOGICAL_CLASS

single

mxSINGLE_CLASS

struct

mxSTRUCT_CLASS

uint8

mxUINT8_CLASS

uint16

mxUINT16_CLASS

uint32

mxUINT32_CLASS

uint64

mxUINT64_CLASS

<class_name>

<class_id>

unknown

mxUNKNOWN_CLASS

In the table, <class_name> represents the name of a specific MATLAB® custom object. You can also specify one of your own class names.

Returns

Logical 1 (true) if pm points to an array having category classname, and logical 0 (false) otherwise.

Description

Each mxArray is tagged as being a certain type. Call mxIsClass to determine whether the specified mxArray has this type. MATLAB does not check if the class is derived from a base class.

In C:

mxIsClass(pm, "double");

is equivalent to calling either of these forms:

mxIsDouble(pm);

strcmp(mxGetClassName(pm), "double");

In Fortran:

mxIsClass(pm, 'double')

is equivalent to calling either one of the following:

mxIsDouble(pm)

mxGetClassName(pm) .eq. 'double'

It is most efficient to use the mxIsDouble form.

Examples

See the following examples in matlabroot/extern/examples/mx.

Introduced before R2006a

Was this topic helpful?