35 lines
751 B
C
35 lines
751 B
C
|
|
/**
|
||
|
|
* @file mix_cc/serialize/deserialize.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_iarchive.hpp>
|
||
|
|
#include <boost/serialization/vector.hpp>
|
||
|
|
#include <sstream>
|
||
|
|
#include <string>
|
||
|
|
namespace mix_cc {
|
||
|
|
/**
|
||
|
|
* @brief 反序列化的对象一定要确保带有空参构造函数
|
||
|
|
* @tparam Tp
|
||
|
|
* @param str My Param doc
|
||
|
|
* @return Tp
|
||
|
|
*/
|
||
|
|
template <typename Tp>
|
||
|
|
Tp deserialize(std::string str) {
|
||
|
|
Tp data;
|
||
|
|
std::stringstream ss;
|
||
|
|
ss << str;
|
||
|
|
boost::archive::text_iarchive ia(ss);
|
||
|
|
boost::serialization::load(ia, data, 0);
|
||
|
|
return data;
|
||
|
|
}
|
||
|
|
|
||
|
|
} // namespace mix_cc
|