Files
FESADev/include/fesa/analysis/Analysis.hpp
T
2026-06-09 15:12:41 +09:00

23 lines
488 B
C++

#pragma once
#include "fesa/core/AnalysisState.hpp"
#include "fesa/core/Domain.hpp"
namespace fesa::analysis {
class Analysis {
public:
virtual ~Analysis() = default;
virtual const char* name() const noexcept = 0;
void run(const fesa::core::Domain& domain, fesa::core::AnalysisState& state) {
doRun(domain, state);
}
protected:
virtual void doRun(const fesa::core::Domain& domain, fesa::core::AnalysisState& state) = 0;
};
} // namespace fesa::analysis