如何对std::stack使用boost::序列化
How to use boost::serialization for std::stack?
我知道我们可以对std::vector、list、map等使用boost::序列化,只要我包含相应的boost头文件,如:
#include <boost/serialization/list.hpp>
但是,我怎么能对std::stack使用boost::序列化呢?
感谢
我知道这是旧的,但我最近遇到了这个问题。我对使用std::deque的解决方案不满意,因为我真的只需要一个堆栈接口。目前,boost支持std::stack的序列化,方法是按顺序包含这些头文件
#include "boost/serialization/deque.hpp"
#include "boost/serialization/stack.hpp"
一个完整的例子看起来像:
#include <string>
#include <stack>
#include "boost/archive/text_oarchive.hpp"
#include "boost/archive/text_iarchive.hpp"
#include "boost/serialization/deque.hpp"
#include "boost/serialization/stack.hpp"
struct s
{
std::stack<std::string> stack;
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & stack;
}
};
用std::deque
替换std::stack
并包括:
#include <boost/serialization/deque.hpp>
相关文章:
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 使用Boost Interprocess创建托管共享内存需要很长时间
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 使用 boost 进行标记化会给出相同的输出
- 如何使用 Boost Asio 在 Android 上获取我的本地 udp IP 地址?
- 在成员dynamic_bitset上使用 boost::from_block_range 时出错,但在本地dynamic
- 执行时使用 boost::asio::d eadline_timer 时出错
- 使用 Boost.Spirit 解析具有混合数据类型的 OBJ 文件?
- 避免使用 boost::进程间::消息队列创建文件
- 使用Boost文件系统C++将具有特定扩展名的文件的名称保存在特定文件夹中
- 程序崩溃使用boost::asio
- 如何使用 boost beast websocket 客户端收听 websocket feed?
- 在 Julia 中使用 boost 库和 Windows 上的 Cxx.jl
- 如何使用 boost 将流放入缓冲区
- 使用boost::multiprecision cpp_int左移时出现超时错误
- 使用 boost::p rogram_options 指定多个标志
- TCP 服务器的异步读取使用 boost::asio 打印客户端套接字发送的数据
- yum :在 CentOS 上使用 Boost 1.69 而不是默认 (1.53) 版本
- 使用 boost::p roperty_tree::p tree 如何获取特定键的值
- 如何在使用 Boost MSM 编写的状态机中直接访问任何状态