Passing containers.Map to MEX file

How do you pass a containers.Map object to a MEX file? How do you access the data from inside the MEX file?

 採用された回答

Titus Edelhofer
Titus Edelhofer 2011 年 5 月 13 日

2 投票

Hi,
passing the variable is easy: just use it ;-). O.K., serious now. Passing is not the problem but doing anything meaningful will be. You will be able to call methods using mexCallMATLAB, e.g.,
/* cmap.c */
void mexFunction(int nlhs, mxArray* plhs[],
int nrhs, const mxArray* prhs[]) {
mexCallMATLAB(1, plhs, 2, prhs, "isKey");
}
and in MATLAB:
x = containers.Map('foo', 42);
v = cmap(x, 'foo');
Otherwise: pass x.keys and x.values to mex function and work with the two cell arrays ...
Titus

1 件のコメント

Alex
Alex 2011 年 5 月 13 日
Hey thank you so much for the quick response!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeWrite C Functions Callable from MATLAB (MEX Files) についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by