• boost serialization


    -lboost_serialization

    https://www.ibm.com/developerworks/cn/aix/library/au-boostserialization/
    #include <boost/archive/text_iarchive.hpp> 
    #include <boost/archive/text_oarchive.hpp> 
     
    #include <boost/archive/xml_iarchive.hpp>
    #include <boost/archive/xml_oarchive.hpp> 
    无需额外编码,就可以将 C++ 编程语言中的很多元素序列化。类、类指针、数组和 Standard Template Library (STL) 集合都可以被序列化

    要对某个类进行序列化,则必须在类定义中定义一个名为 serialize 的方法。在转储和恢复类的过程中会调用该方法
     
    typedef struct date { 
       unsigned int m_day;
       unsigned int m_month;
       unsigned int m_year;
    } date;

     
      template<class Archive>
        void serialize(Archive& archive, const unsigned int version)
        {
            archive & BOOST_SERIALIZATION_NVP(m_day);
            archive & BOOST_SERIALIZATION_NVP(m_month);
            archive & BOOST_SERIALIZATION_NVP(m_year);
        }

     
    serialize 方法的非侵入性版本

     
    namespace boost {
    namespace serialization {
    
    template<class Archive>
    void serialize(Archive& archive, date& d, const unsigned int version)
    {
        archive & BOOST_SERIALIZATION_NVP(d.m_day);
        archive & BOOST_SERIALIZATION_NVP(d.m_month);
        archive & BOOST_SERIALIZATION_NVP(d.m_year);
    }
    
    } // namespace serialization
    } // namespace boost

  • 相关阅读:
    LeetCode | Divide Two Integers
    LeetCode | Pow(x, n)
    LeetCode | Sqrt (x)
    LeetCode | 3 Sum
    LeetCode | Two Sum
    LeetCode | Pascal's Triangle II
    nodejs eclipse
    CentOS: Make Command not Found and linux xinetd 服务不能启动
    jquery将form表单序列化常json
    VMware Mac OS补丁安装
  • 原文地址:https://www.cnblogs.com/anjsxz/p/3733489.html
Copyright © 2020-2023  润新知