有没有办法安全地将bsoncxx文件复制到另一个文件。 在下面的代码中,我无法做到这一点
class DocClass
{
private:
bsoncxx::builder::basic::document m_doc;
public:
bsoncxx::builder::basic::document& copy(bsoncxx::builder::basic::document& obj)
{
obj = m_doc; //Not allowed
//Error C2280 attempting to reference a deleted function
}
};
即使复制后也不应对对象造成任何伤害。 请帮忙。
谢谢, 世斌
答案 0 :(得分:2)
如果要复制bsoncxx :: document :: value,可以从视图中构造一个新的:
bsoncxx::document::value foo = ...;
bsoncxx::document::value bar{foo.view()};
bsoncxx :: builder :: basic :: document只能移动,不能复制。但是,您可以使用view()
方法从构建器查看基础文档,这可能会根据您的用例帮助您。尽管如此,您仍然只能从构建器中extract
,因此如果您需要多个document::value
,则必须依赖构建第二个tranwrd
。