mxIsClass (C и Фортран)

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

Синтаксис C

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

Синтаксис языка ФОРТРАН

#include "fintrf.h"
integer*4 mxIsClass(pm, classname)
mwPointer pm
character*(*) classname

Аргументы

pm

Указатель на mxArray

classname

Категория массивов, чтобы протестировать. Задайте 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>

<class_id>

unknown

mxUNKNOWN_CLASS

В таблице <class_name> представляет имя определенного пользовательского объекта MATLAB®. Можно также задать одни из собственных имен классов.

Возвращается

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

Описание

Каждый mxArray помечен как являющийся определенным типом. Вызовите mxIsClass, чтобы определить, имеет ли заданный mxArray этот тип. MATLAB не проверяет, выведен ли класс от базового класса.

В C:

mxIsClass(pm, "double");

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

mxIsDouble(pm);

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

На Фортране:

mxIsClass(pm, 'double')

эквивалентно вызову любого следующего:

mxIsDouble(pm)

mxGetClassName(pm) .eq. 'double'

Является самым эффективным использовать форму mxIsDouble.

Примеры

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

Смотрите также

mxClassID, mxGetClassID, mxIsEmpty, mxGetClassName

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