メインコンテンツ

clibConvertArray

MATLAB 基本配列または struct 配列を C++ オブジェクトの MATLAB 配列に変換する

説明

cArray = clibConvertArray(elementTypeName,A) は、MATLAB® 配列 AelementTypeName 型の C++ オブジェクトを表す MATLAB オブジェクト clib 配列に変換します。cArray の次元は A と同じです。cArray の各要素は対応する A の要素で初期化されます。

clibArray と同様に、ライブラリにその型が必要な場合にのみ配列を作成できます。

cArray のメモリは MATLAB によって所有されています。このメモリを解放するには、clibRelease を呼び出します。

すべて折りたたむ

C++ ライブラリ libname のインターフェイスがあると仮定します。double の MATLAB 配列を変換します。

a = [1 2 3 4];
arr = clibConvertArray("clib.libname.Double", a);
class(arr)
ans =
       'clib.array.libname.Double'

このコードで定義された MyStruct という名前の C++ 構造体を含むライブラリ libname があるとします。

struct MyStruct {
    double a;
    };

この MATLAB struct 配列 mArray をライブラリに渡したいとします。

mArray(1).a = 5;
mArray(2).a = 10;

myStructArray という名前の clib.array オブジェクトを作成します。このオブジェクトは clib.libname.MyStruct 型の引数に使用します。

myStructArray = clibConvertArray("clib.libname.MyStruct",mArray);
class(myStructArray)
ans =
       'clib.array.libname.MyStruct'

入力引数

すべて折りたたむ

C++ の型。string または文字ベクトルとして指定します。詳細については、C++ から MATLAB へのデータ型のマッピングを参照してください。サポートされている型は次のとおりです。

MATLAB は C++ の基本型の名前をアッパー キャメル ケースに変換します。たとえば、C++ の signed int 型に対する elementTypeNameSignedInt です。

型は完全修飾の C++ の型名です。たとえば、ライブラリ libname でクラス myclass が定義されると、elementTypeNameclib.libname.myclass になります。

C++ クラス名はサポートされません。

例: clib.libname.Double

データ型: char | string

MATLAB 配列。数値の MATLAB 型として指定します。

バージョン履歴

R2020a で導入

すべて展開する