使用BOOST :: PYTHON返回裸露的类对象列表,这些对象是不可复制的

With boost::python return a list of exposed class objects, that are noncopyable

本文关键字:对象 可复制 列表 PYTHON BOOST 返回 使用      更新时间:2023-10-16

我有一个boost_python_module,其中我有一个要返回我已经暴露的对象列表的函数。

namespace bp = boost::python;
class MyClass {
public:
   int foo() {return 42;}
};
bp::list my_fun() {
   bp::list l;
   l.append(MyClass());
   l.append(MyClass());
   return l;
}

BOOST_PYTHON_MODULE(my_module) {
  bp::class_<MyClass,boost::noncopyable>("MyClass")
     .def("foo",&MyClass::foo);
  bp::def("my_fun",my_fun);
}

我获得了" no to_python(By-by-value(Converter为C 类型找到",

引起

boost ::不可拷贝

关键字。