最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

mxIsClass (C および Fortran)

配列が特定のクラスのオブジェクトであるかどうかを判別

C 構文

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

Fortran 構文

#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® カスタム オブジェクトの名前を表します。独自のクラス名のいずれかを指定することもできます。

戻り値

pm がカテゴリ classname をもつ配列を指している場合は logical 1 (true)、それ以外の場合は logical 0 (false)。

説明

mxArray は、特定のタイプとしてタグ付けされています。mxIsClass を呼び出して、指定した mxArray がこのタイプであるかどうか判断します。MATLAB はクラスが基底クラスから派生しているかどうかをチェックしません。

C の場合:

mxIsClass(pm, "double");

上記は、次の形式のいずれかを呼び出すことと同等です。

mxIsDouble(pm);

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

Fortran の場合:

mxIsClass(pm, 'double')

上記は、次のいずれかを呼び出すことと同等です。

mxIsDouble(pm)

mxGetClassName(pm) .eq. 'double'

mxIsDouble 形式を使用するのが最も効率的です。

matlabroot/extern/examples/mx の次の例を参照してください。

R2006a より前に導入