🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
Archive.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/Attribute.hpp"
25#include <string>
26
27AST_NAMESPACE_BEGIN
28
36template<typename T>
38{
39public:
40 const char* name() const { return name_; }
41 T value() const { return value_; }
42
43 const char* name_;
44 T value_;
45};
46
51template<typename T>
52NameValuePair<T> make_nvp(const char* name, T& val)
53{
54 return NameValuePair<T>{name, val};
55}
56
57
59class AST_UTIL_API Archive
60{
61public:
62 Archive() = default;
63 virtual ~Archive() = default;
64
65 virtual Archive& operator&(bool& val) = 0;
66 virtual Archive& operator&(int& val) = 0;
67 virtual Archive& operator&(double& val) = 0;
68 virtual Archive& operator&(std::string& val) = 0;
69 virtual Archive& operator&(Attribute& attr) = 0;
70};
71
74AST_NAMESPACE_END
归档基类,实现对象的序列化和反序列化等操作
定义 Archive.hpp:60
对象的特定属性
定义 Attribute.hpp:42
名值对
定义 Archive.hpp:38
NameValuePair< T > make_nvp(const char *name, T &val)
创建名值对
定义 Archive.hpp:52