🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
DataElement.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/StringView.hpp"
25#include "AstUtil/Dimension.hpp"
26#include <string>
27
28AST_NAMESPACE_BEGIN
29
40typedef errc_t (*ElementExtractFunc)(const VariantVector& data, VariantVector& element);
41
42
44AST_REPORT_CAPI errc_t aExtractNoop(const VariantVector& data, VariantVector& element);
45
46
53{
54public:
55
57 DataElement() = default;
58
60 ~DataElement() = default;
61
62
65 const char* name() const { return name_; }
66
69 void setName(const char* name){ name_ = name; }
70
73 Dimension dimension() const { return dimension_; }
74
77 void setDimension(Dimension dimension){ dimension_ = dimension; }
78
81 void setExtractFunc(ElementExtractFunc extractFunc);
82
85 ElementExtractFunc extractFunc() const { return extractFunc_; }
86
87
93 errc_t extract(const VariantVector& data, VariantVector& element) const { return extractFunc_(data, element); }
94
95
96private:
97 const char* name_{""};
98 Dimension dimension_{Dimension::Unit()};
99 ElementExtractFunc extractFunc_{&aExtractNoop};
100};
101
104AST_NAMESPACE_END
数据元素 — 封装数据提取逻辑的可配置单元
定义 DataElement.hpp:53
errc_t extract(const VariantVector &data, VariantVector &element) const
执行数据提取
定义 DataElement.hpp:93
Dimension dimension() const
获取数据元素的量纲
定义 DataElement.hpp:73
void setName(const char *name)
设置数据元素名称
定义 DataElement.hpp:69
DataElement()=default
默认构造
void setDimension(Dimension dimension)
设置数据元素的量纲
定义 DataElement.hpp:77
~DataElement()=default
默认析构
const char * name() const
获取数据元素名称
定义 DataElement.hpp:65
ElementExtractFunc extractFunc() const
获取已注册的提取函数
定义 DataElement.hpp:85
量纲
定义 Dimension.hpp:362
变类型向量容器
定义 VariantVector.hpp:59
errc_t aExtractNoop(const VariantVector &data, VariantVector &element)
空提取函数 — 不执行任何操作
定义 DataElement.cpp:26
errc_t(* ElementExtractFunc)(const VariantVector &data, VariantVector &element)
数据提取函数指针类型
定义 DataElement.hpp:40