eis/eqpalg/algs/feedback_alg.h
Huamonarch ae7834adaa refactor: 算法子类化 — LogicAlg/BoundAlg/BoundHoldAlg/FeedbackAlg 消除 exp_type_ 分支
将 ExpBase::mon_proc() 中的 exp_type_ 分支逻辑提取为 4 个子类,通过 doMonProc() 虚函数实现多态分发:
- LogicAlg (exp_type 1):实时逻辑判断
- BoundAlg (exp_type 2):监控变量上下限检测
- BoundHoldAlg (exp_type 5):持续超限检测(继承 BoundAlg)
- FeedbackAlg (exp_type 3/4):动作反馈处理

ExpBase 新增纯虚函数 doMonProc() 和钩子函数 doInitExtend(),
init() 和 mon_proc() 中所有类型分支替换为虚函数委托调用。
2026-05-15 14:37:15 +08:00

17 lines
424 B
C++

#pragma once
#include <eqpalg/algs/exp_base.h>
class FeedbackAlg : public ExpBase {
public:
FeedbackAlg(const std::string& name, const mix_cc::json& rule_json,
const std::string& ruleId, size_t exp_type);
~FeedbackAlg() override;
protected:
AlarmInfo doMonProc() override;
void doInitExtend() override;
private:
bool hasBoundCheck_; // CondBound (exp_type 4) vs Logic (exp_type 3)
};