mxIsClass (C)

Определите, является ли mxArray объектом заданного класса

Синтаксис C

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

Возвраты

Логический 1 (true), если pm указывает на массив, имеющий classname категорий, и логические 0 (false) в противном случае.

Описание

Каждый mxArray помечен как определенный тип. mxIsClass возвращает логический 1 (true), если mxArray имеет заданный тип. В противном случае функция возвращается логической 0 (false).

MATLAB® не проверяет, является ли класс производным от базового класса.

В C:

mxIsClass(pm, "double");

эквивалентно вызову любой из следующих форм:

mxIsDouble(pm);
strcmp(mxGetClassName(pm), "double")==0;

Более эффективно использовать mxIsDouble форма.

Входные параметры

расширить все

Указатель на mxArray массив, заданный как const mxArray*.

Категория массива для тестирования, заданная как const char*. Используйте одну из этих предопределенных констант. Не указывайте classname как целочисленный идентификатор.

Значение classname

Соответствующий класс

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>, который представляет имя определенного пользовательского объекта MATLAB. Можно также задать одно из собственных имен классов.

<class_id>

unknown

mxUNKNOWN_CLASS

Примеры

См. эти примеры в matlabroot/ extern/examples/mx:

Представлено до R2006a