我想使用Boost :: Python公开python中自定义智能指针包装的对象
警告
问题是我似乎无法做到这一点.这是一个示例代码:
LegacyCode :: Ptr - >传统智能指针代码
LegacyCode :: Session - >传统智能指针中包含的遗留对象
namespace boost { namespace python
{
template <class T> T* get_pointer(LegacyCode::Ptr<T> const& p)
{
return p.get();
}
template <typename T>
struct pointee<LegacyCode::Ptr<T> >
{
typedef T type;
};
}}*
BOOST_PYTHON_MODULE(pyro)
{
using namespace boost::python;
class_<LegacyCode::Session,LegacyCode::Ptr<LegacyCode::Session>>("Session")
.def("get_type",&LegacyCode::Session::getType);
}
Run Code Online (Sandbox Code Playgroud)