2026-02-02 14:17:31 +08:00
|
|
|
#include "Rule.hpp"
|
|
|
|
|
|
2026-03-03 17:11:30 +08:00
|
|
|
#include "Ruleset/GpRules.hpp"
|
|
|
|
|
#include "Ruleset/ChirsRules.hpp"
|
|
|
|
|
#include "Ruleset/YYCRules.hpp"
|
|
|
|
|
#include "Ruleset/BBugRules.hpp"
|
|
|
|
|
#include "Ruleset/ZZQRules.hpp"
|
|
|
|
|
#include "Ruleset/SOneRules.hpp"
|
|
|
|
|
#include "Ruleset/SSBRules.hpp"
|
|
|
|
|
#include "Ruleset/LXRules.hpp"
|
2026-02-02 22:26:41 +08:00
|
|
|
|
2026-02-02 14:17:31 +08:00
|
|
|
namespace BMapInspector::Rule {
|
|
|
|
|
|
|
|
|
|
#pragma region IRule
|
|
|
|
|
|
|
|
|
|
IRule::IRule() {}
|
|
|
|
|
|
|
|
|
|
IRule::~IRule() {}
|
|
|
|
|
|
|
|
|
|
#pragma endregion
|
|
|
|
|
|
2026-03-03 17:11:30 +08:00
|
|
|
#pragma region RuleCollection
|
2026-02-02 14:17:31 +08:00
|
|
|
|
2026-03-03 17:11:30 +08:00
|
|
|
RuleCollection::RuleCollection() : rules() {
|
2026-02-02 22:26:41 +08:00
|
|
|
// Add rule into list.
|
2026-03-03 17:11:30 +08:00
|
|
|
rules.emplace_back(new Ruleset::GpRule1());
|
|
|
|
|
rules.emplace_back(new Ruleset::GpRule2());
|
|
|
|
|
rules.emplace_back(new Ruleset::ChirsRule1());
|
|
|
|
|
rules.emplace_back(new Ruleset::YYCRule1());
|
|
|
|
|
rules.emplace_back(new Ruleset::YYCRule2());
|
|
|
|
|
rules.emplace_back(new Ruleset::YYCRule3());
|
|
|
|
|
rules.emplace_back(new Ruleset::YYCRule4());
|
|
|
|
|
rules.emplace_back(new Ruleset::BBugRule1());
|
|
|
|
|
rules.emplace_back(new Ruleset::BBugRule2());
|
|
|
|
|
rules.emplace_back(new Ruleset::BBugRule3());
|
|
|
|
|
rules.emplace_back(new Ruleset::ZZQRule1());
|
|
|
|
|
rules.emplace_back(new Ruleset::ZZQRule2());
|
|
|
|
|
rules.emplace_back(new Ruleset::ZZQRule3());
|
|
|
|
|
rules.emplace_back(new Ruleset::SOneRule1());
|
|
|
|
|
rules.emplace_back(new Ruleset::SSBRule1());
|
|
|
|
|
rules.emplace_back(new Ruleset::LXRule1());
|
2026-02-02 22:26:41 +08:00
|
|
|
// Add more rules...
|
2026-02-02 14:17:31 +08:00
|
|
|
}
|
|
|
|
|
|
2026-03-03 17:11:30 +08:00
|
|
|
RuleCollection::~RuleCollection() {
|
2026-02-02 22:26:41 +08:00
|
|
|
// Free rule from list.
|
|
|
|
|
for (const auto* rule : this->rules) {
|
|
|
|
|
delete rule;
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-02-02 14:17:31 +08:00
|
|
|
|
2026-03-03 17:11:30 +08:00
|
|
|
size_t RuleCollection::GetRuleCount() const {
|
2026-02-02 14:17:31 +08:00
|
|
|
return this->rules.size();
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-03 17:11:30 +08:00
|
|
|
const std::vector<IRule*>& RuleCollection::GetRules() const {
|
2026-02-02 14:17:31 +08:00
|
|
|
return this->rules;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#pragma endregion
|
|
|
|
|
|
2026-03-03 17:11:30 +08:00
|
|
|
} // namespace BMapInspector::RuleCollection
|