boost-serialization 相关问题

Boost.Serialization是一个跨平台的C ++序列化库。

使用空容器增强序列化

我正在使用 boost ( 1.69.0 ) 序列化来生成 XML 模板文件。 不幸的是我想要达到的结果很糟糕。 这是示例代码: 结构A { 结构B { int bInt;...

回答 1 投票 0

通过多索引容器增强 1.74 和 1.83 之间的序列化不兼容性

我正在将一组内容(使用 boost::multi_index_container 通过多个属性和 params 结构进行索引)序列化为二进制存档,我想对其进行反序列化。但是存档

回答 1 投票 0

增强对字符缓冲区的序列化和数据的反序列化

我正在使用 boost::interprocess::message_queue 在进程之间创建一个通信模块 因为消息队列占用数组缓冲区,所以我会将数据包序列化到数组缓冲区中。 内联空

回答 1 投票 0

boost::container::strings可以使用boost序列化来序列化吗?

我正在尝试序列化一个包含 boost::container::string 的类 #包括 #包括 #包括 #包括 我正在尝试序列化一个包含 boost::container::string 的类 #include <iostream> #include <cstdlib> #include <boost/container/string.hpp> #include <boost/archive/text_oarchive.hpp> #include <boost/archive/text_iarchive.hpp> #include <boost/serialization/string.hpp> class car { public: car() {} car(boost::container::string make) : make(make) {} boost::container::string make; private: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & make; } }; int main() { car my_car("ford"); std::stringstream ss; boost::archive::text_oarchive oa(ss); oa << my_car; car new_car; boost::archive::text_iarchive ia(ss); ia >> new_car; } 但是上面的代码无法编译,并出现以下错误: boost/serialization/access.hpp:116:11: error: 'class boost::container::basic_string<char>' has no member named 'serialize' 相同的代码可以更改为使用std::string并且编译良好。 boost::container::strings可以序列化吗?如果可以的话,我做错了什么或遗漏了什么? 注意 事实证明(至少在今天)这个答案已经被打破了。看 使用自定义分配器对 std::basic_string 进行 Boost 序列化以获得适用于 Boost 1.83.0 的更好解决方案 是的。令人惊讶的是,Boost 中并未包含必要的支持。不过,如果您查看字符串序列化标头内部,您会发现它支持“原始”,并且只需一行即可启用它: BOOST_CLASS_IMPLEMENTATION(boost::container::string, boost::serialization::primitive_type) 现在它的工作原理与std::string相同: 住在Coliru #include <boost/archive/text_oarchive.hpp> #include <boost/archive/text_iarchive.hpp> #include <boost/container/string.hpp> #include <iostream> BOOST_CLASS_IMPLEMENTATION(boost::container::string, boost::serialization::primitive_type) struct car { template<class Ar> void serialize(Ar& ar, unsigned) { ar & make; } boost::container::string make; }; int main() { std::stringstream ss; { boost::archive::text_oarchive oa(ss); car my_car{"ford"}; oa << my_car; } // close archive std::cout << ss.str() << "\n"; boost::archive::text_iarchive ia(ss); car new_car; ia >> new_car; } 打印 22 serialization::archive 17 0 0 ford

回答 1 投票 0

尽管结构已序列化,但升压错误“结构没有名为‘序列化’的成员”

下面是我设计的结构和类,最终目标是使用boost序列化将值写入xml 当我编译下面的代码时,我收到编译时错误(错误...

回答 1 投票 0

Boost 序列化在循环恢复时失败

我尝试为两个类 Geometry 和 Dimension 实现一个序列化器,这两个类之间具有循环依赖关系。这意味着几何图形可以有一个维度,并且维度知道它的几何图形。另外,我

回答 1 投票 0

如何在 boost::serialization 中迭代存档

我将多个数据加载到boost::archive::text_oarchive中,现在我需要提取数据。 但由于存档包含多个记录,我需要一个迭代器。 就像是 //输入拱门...

回答 2 投票 0

使用 boost 反序列化时输入流错误

我正在尝试使用boost序列化库来序列化一个类。序列化工作得很好,但是当我尝试读取写入文件的内容时,出现“输入错误”

回答 1 投票 0

在自定义存档的boost序列化中出现链接器错误。

我试着按照官方的boost例子实现了一个自己的archive类型,用于boost序列化,来写archives。#include #include #include

回答 1 投票 0

实现 "boost::serialization::load_construct_data "会引发一个内存访问违规错误。

我已经为一个没有默认构造函数的类(helib::Context)实现了一对 boost::serialization::save_construct_data 和 boost::serialization::load_construct_data。在 ...

回答 1 投票 1

是否有一种方法可以自动生成或至少缩短(例如__all__之类的参数)序列化函数?

我正在处理一个将消息(请求和响应)作为结构进行传输的网络。为了实现这一目标,我转向了增强串行化,效果很好!但是有很多类型的...

回答 1 投票 0

boost :: serialization如何在通过指针反序列化时分配内存?

简而言之,我想知道boost :: serialization在通过指针反序列化时如何为对象分配内存。在下面,您将找到我的问题的示例,在...

回答 1 投票 1

在二进制存档中使用boost序列化时出错

当从boost :: archive :: binary_iarchive读取到我的变量中时,出现以下错误:test-serialization(9285,0x11c62fdc0)malloc:无法分配区域*** mach_vm_map(size = ...

回答 1 投票 2

c ++ 11 std :: shared_ptr + boost :: serialization [duplicate]

您好,有人已经设法通过boost :: serialization序列化C ++ 11 std :: shared_ptr。有很多过时的帖子,但没有一个可以接受的解决方案。我不会进入...

回答 1 投票 11

如何使用boost :: unordered_map的boost std :: vector进行序列化/反序列化

如何使用boost :: unordered_map的boost std :: vector进行序列化/反序列化,就像vector *> town;代表城镇。所有指针都在...

回答 2 投票 0

Boost序列化犰狳矩阵

我正在尝试确保序列化适用于矩阵,例如Armadillo,但出现一些错误。我做了一个简单的随机矩阵示例,并尝试使用boost在...

回答 1 投票 0

基于Boost XML class_id的反序列化

我有一个XML序列化的反映类型,我可以像这样得到它的序列化:模板 std :: function get_serialization_for_type(std :: ...

回答 1 投票 1

boost :: serialization中的派生类偏移量计算。有效吗?

boost :: serialization包含以下代码:reinterpret_cast (static_cast (reinterpret_cast (1 << 20)))-(1 << 20)其...

回答 2 投票 2

boost binary_iarchive读取的错误数据

#include #include 结构数据{...

回答 1 投票 1

特征矩阵+升压::序列化/ C ++ 17

我试图使下它强烈基于提升我们的代码库++ 17 - 和boost ::中间数据的存储和传输预系列化系列化。总体来说,一切看起来...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.