このマクロFOOBAR
をSWIGでラップする方法をここで読みました:
class foobar {
public:
static void method() {}
};
#define FOOBAR() foobar().method()
解決策は、これを SWIG インターフェイスに含めることです。
void FOOBAR();
ただし、()
私のマクロが
#define FOOBAR foobar().method()
これは、C++ で使用できる完全に正当なマクロです。これをラップするにはどうすればよいので、Python コマンド ラインで次のように言えます。
>>>FOOBAR
これは紛らわしいように見えるので、明確にするために。意図的に何も返さないメソッドを選択しました。「何を返すべきか」という無関係な質問が考慮されないように、私はそうしました。しかし、人々はまだそれを検討したいと考えているようです。
OK では、C++ ではFOOBAR
意味があります。これは特定のオブジェクトであり、呼び出すことができますFOOBAR.someMethod()
。Pythonコマンドラインで、同じように動作するオブジェクト(同等のもの)でもあることを望みますFOOBAR.someMethod()
.C++と同じように呼び出して動作させたいです。
申し訳ありませんが、SWIG のコンテキストでは、上記の説明は明白で不要であり、略語「wrap」に含まれていると思います。