🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
DataElement.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/StringView.hpp"
25#include <string>
26
27AST_NAMESPACE_BEGIN
28
39typedef void (*ElementExtractFunc)(const VariantVector& data, VariantVector& element);
40
41
43AST_REPORT_CAPI void aExtractNoop(const VariantVector& data, VariantVector& element);
44
45
52{
53public:
54
56 DataElement() = default;
57
59 ~DataElement() = default;
60
61
64 const std::string& name() const { return name_; }
65
68 void setName(StringView name){ name_ = std::string(name); }
69
70
73 void setExtractFunc(ElementExtractFunc extractFunc){ extractFunc_ = extractFunc; }
74
77 ElementExtractFunc extractFunc() const { return extractFunc_; }
78
79
85 void extract(const VariantVector& data, VariantVector& element) const { extractFunc_(data, element); }
86
87
88private:
89 std::string name_;
90 ElementExtractFunc extractFunc_{&aExtractNoop};
91};
92
95AST_NAMESPACE_END
数据元素 — 封装数据提取逻辑的可配置单元
定义 DataElement.hpp:52
void setExtractFunc(ElementExtractFunc extractFunc)
注册数据提取函数
定义 DataElement.hpp:73
const std::string & name() const
获取数据元素名称
定义 DataElement.hpp:64
void setName(StringView name)
设置数据元素名称
定义 DataElement.hpp:68
DataElement()=default
默认构造
~DataElement()=default
默认析构
void extract(const VariantVector &data, VariantVector &element) const
执行数据提取
定义 DataElement.hpp:85
ElementExtractFunc extractFunc() const
获取已注册的提取函数
定义 DataElement.hpp:77
变类型向量容器
定义 VariantVector.hpp:59
void aExtractNoop(const VariantVector &data, VariantVector &element)
空提取函数 — 不执行任何操作
定义 DataElement.cpp:25
void(* ElementExtractFunc)(const VariantVector &data, VariantVector &element)
数据提取函数指针类型
定义 DataElement.hpp:39