长风破浪会有时,直挂云帆济沧海

Dream Word

博客园 首页 新随笔 联系 订阅 管理

boost序列化

  

#ifndef FND_SERI_H
#define FND_SERI_H

#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>

template <typename T>
std::string seriliaze(const T &obj)
{
        std::stringstream ss; 
        boost::archive::text_oarchive oa(ss);
        oa & obj;
        return ss.str();
}

class SBindName
{
private:
        friend class boost::serialization::access;

        template <class Archive>
        void serialize(Archive &ar,const unsigned int version)
        {   
                ar & m_bindName;
        }   
    
        std::string m_bindName;
public:
        SBindName(std::string name): m_bindName(std::move(name)){}
        SBindName(){}
        const std::string &bindName() const { return m_bindName;}
};
#endif

//use
//outbuf = seriliaze(SBindName(std::move(name)));
//
//SBindName info;
//std::stringstream ss(std::string(*******));
//boost::archive::text_iarchive oa(ss);

  

posted on 2018-07-31 14:23  长风II  阅读(400)  评论(0编辑  收藏  举报