🛰️航天仿真算法库 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
27
AST_NAMESPACE_BEGIN
28
36
template
<
typename
T>
37
class
NameValuePair
38
{
39
public
:
40
const
char
* name()
const
{
return
name_; }
41
T value()
const
{
return
value_; }
42
43
const
char
* name_;
44
T value_;
45
};
46
51
template
<
typename
T>
52
NameValuePair<T>
make_nvp
(
const
char
* name, T& val)
53
{
54
return
NameValuePair<T>
{name, val};
55
}
56
57
59
class
AST_UTIL_API
Archive
60
{
61
public
:
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
74
AST_NAMESPACE_END
ast::Archive
归档基类,实现对象的序列化和反序列化等操作
定义
Archive.hpp:60
ast::AttributeBasic
对象的特定属性
定义
Attribute.hpp:42
ast::NameValuePair
名值对
定义
Archive.hpp:38
ast::make_nvp
NameValuePair< T > make_nvp(const char *name, T &val)
创建名值对
定义
Archive.hpp:52
src
AstUtil
Serde
Archive
Archive.hpp
制作者
1.12.0