SWIG C ++からPythonへ:プリミティブ型へのポインタを受け入れるtypemapsとメソッド

私は既存のライブラリのPython拡張を書いています。関数の中にはプリミティブへのポインタを受け付けるものもあるので、argは出力として動作することができます。

これはあまりpythonicではないので、私はSWIGのドキュメントで説明されているようにtypemapsを使用したいと思っています。ここ関数がタプルを返すようにします。

ここに私のSWIGインターフェイスファイルのスニペットがあります(この質問に関連する部分のみが示されています)

%include "typemaps.i"                          //For pointers to primitive types

%apply double *OUTPUT { double *a1, double *a2, double *a3 };
%apply double *OUTPUT { double *b1, double *b2, double *b3 };
%apply double *OUTPUT { double *c1, double *c2 };


class FooBar
{
public:
    FooBar();
    ~FooBar();

    int     do(char* s, double *a1, double *a2, double *a3);
    double  something(int i, double *b1, double *b2, double *b3);
    void    great(double *c1, double *c2);
};

上記のやり方で複数のOUTPUT(マクロ?)を使用できるかどうかを明確にすることはSWIGの文書には現れていません –
これは安全ですか?

ベストアンサー
申し訳ありませんが、適切な答えはありません

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です