33 lines
772 B
C++
33 lines
772 B
C++
/**
|
|
* @file mix_cc/serialize/serialize.h
|
|
* @brief 序列化
|
|
* @author Cat (null.null.null@qq.com)
|
|
* @version 0.1
|
|
* @date 2021-06-18
|
|
*
|
|
* Company: Baosight Co. Ltd.
|
|
* DO NOT COPY/USE WITHOUT PERMISSION
|
|
*
|
|
*/
|
|
#pragma once
|
|
#include <boost/archive/text_oarchive.hpp>
|
|
#include <boost/serialization/vector.hpp>
|
|
#include <sstream>
|
|
#include <string>
|
|
|
|
namespace mix_cc {
|
|
/**
|
|
* @brief 反序列化的对象一定要确保带有空参构造函数,这是一个线程安全的版本
|
|
* @tparam Tp
|
|
* @param data My Param doc
|
|
* @return std::string
|
|
*/
|
|
template <typename Tp>
|
|
std::string serialize(Tp data) {
|
|
std::ostringstream oss;
|
|
boost::archive::text_oarchive oa(oss);
|
|
boost::serialization::save(oa, data, 0);
|
|
return oss.str();
|
|
}
|
|
} // namespace mix_cc
|