Boost.Serializationを使用するC++ライブラリがあります。Boost.Pythonを使用して、このライブラリのPythonバインディングを作成しています。Boost.Serializationを使用するBoost.Pythonのピクルススイートを作成する方法はかなり明確です(Boost.Serializationを使用して文字列に保存し、その文字列をPythonに返します)。
私が欲しいのはその逆です。与えられたboost::python::object
場合、serialize(...)
Pythonのpickle.dumps()
関数を呼び出し、結果の文字列をシリアル化する関数が必要です。(想像してみてくださいstd::vector<boost::python::object>
。このベクトルをシリアル化すると、Boost.Serializationは補助serialize()
関数を呼び出します。)これは可能ですか?cPickle
さらに良いことに、Pythonインタープリターに制御を与えることを使用およびバイパスすることは可能ですか?