Python アプリケーションの実行を高速化することを期待して、boost::python を使用して Python クラスを C++ に移植しようとしています (C++ に移植しているクラスは、アプリケーションの実行時間の約 30% を占めています)。
元の Python クラスの init は次のようになります。
class PyClass(object):
def __init__(self, child):
child.set_parent(self)
...
これを C++ コンストラクターで複製するにはどうすればよいですか?
C++ クラスがある場合:
class CClass
{
// to get input args that match the Python class I need
CClass(boost::python::object &child)
{
// but how do I get the boost::python::object self
// as I only have *this in C++ ?
CClass& c = boost::python::extract<CClass&>(child);
c.set_parent(self);
}
...
}
ありがとう、マーク