使用BOOST :: PYTHON返回裸露的类对象列表,这些对象是不可复制的
With boost::python return a list of exposed class objects, that are noncopyable
我有一个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 ::不可拷贝
关键字。
相关文章:
- 简单可复制与可简单复制
- 在什么条件下使用 std::memcpy 在对象之间复制是安全的?
- 我可以从列表中获取对象并复制它们,但如何删除我复制的对象?
- 是否可以将不可复制的成员用作使对象不可复制的替代方法?
- 如果 iostream 对象不可复制,为什么以下代码是合法的?
- 为什么我可以使用 memcpy 将一个对象变量复制到另一个对象变量
- reinterpret_cast,只读访问,简单的可复制类型,会出什么问题?
- 对于参加可复制和可移动类的访问者来说,应该有多少过载?
- 可变参数宏:无法通过"..."传递非平凡可复制类型的对象
- 为什么 std::atomic<std::string> 会给出微不足道的可复制错误?
- 我可以隐式地创建一个琐碎的可复制类型吗
- C :对象上的可复制视图
- 错误:无法通过'...'传递非平凡可复制类型的对象'class boost::filesystem::path'
- 使用realloc可以安全地重新分配琐碎的可复制对象的存储吗
- "constructing"一个带有memcpy的可复制对象
- 错误:无法通过`..`传递非普通可复制类型的对象
- 无法传递非普通可复制类型“const class mysqlpp::String”的对象
- 将std::memcpy用于非平凡可复制类型的对象
- 如何返回一个不可移动(但可复制)的对象
- 正在复制通常在c++ 14中定义的可复制对象