🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
BKVSax.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/GenericValue.hpp"
25#include "AstUtil/ValueView.hpp"
26#include "AstUtil/Color.hpp"
27
28AST_NAMESPACE_BEGIN
29
30class ValueView;
31
35class AST_UTIL_API BKVSax
36{
37public:
38 static constexpr int endParse = 1;
39
41 virtual ~BKVSax() = default;
42
45 virtual errc_t begin(StringView name) = 0;
46
49 virtual errc_t end(StringView name) = 0;
50
54 virtual errc_t keyValue(StringView key, const ValueView& value) = 0;
55
56 errc_t begin() { return begin(StringView{});}
57 errc_t end() { return end(StringView{});}
58 errc_t keyValue(StringView key, const char* value){ return keyValue(key, ValueView(value)); }
59 errc_t keyValue(StringView key, int value){ return keyValue(key, GenericValue(value)); }
60 errc_t keyValue(StringView key, bool value){ return keyValue(key, GenericValue(value)); }
61 errc_t keyValue(StringView key, double value){ return keyValue(key, GenericValue(value)); }
62 errc_t keyValue(StringView key, Color value){ return keyValue(key, GenericValue(value)); }
63 errc_t keyValue(StringView key, StringView value){ return keyValue(key, ValueView(value)); }
64};
65
66
67AST_NAMESPACE_END
键值对解析器SAX接口(BlockKeyValueSax)
定义 BKVSax.hpp:36
virtual errc_t begin(StringView name)=0
开始解析一个块
virtual ~BKVSax()=default
析构函数
virtual errc_t end(StringView name)=0
结束解析一个块
virtual errc_t keyValue(StringView key, const ValueView &value)=0
迭代解析一个键值对
值视图类
定义 ValueView.hpp:40