boost.pythonまたはpyplusplusを使用している場合、intポインター、またはクラスのメンバー変数であるポインターをラップするにはどうすればよいですか?
たとえばx
、次のクラスからどのようにラップしますか?
class Foo{
int * x;
}
boost.pythonまたはpyplusplusを使用している場合、intポインター、またはクラスのメンバー変数であるポインターをラップするにはどうすればよいですか?
たとえばx
、次のクラスからどのようにラップしますか?
class Foo{
int * x;
}
まず、クラスとプロパティを Python に公開する必要があります。
#include <boost/python.hpp>
BOOST_PYTHON_MODULE(mylib)
{
using namespace boost::python;
class_<Foo>("Foo")
.def_readwrite("x", &Foo::x);
}
Python でのクラスの呼び出しも同様に簡単です。
>>> import mylib
>>> fooObj = mylib.Foo()
>>> fooObj.x = 3
>>> print 'fooObj.x is ', fooObj.x
fooObj.x is 3