#pragma once #include "fesa/analysis/analysis_state.hpp" #include "fesa/core/diagnostic.hpp" #include "fesa/core/status.hpp" #include "fesa/model/domain.hpp" #include #include namespace fesa { // Keeps the solver core independent of the authoritative result-storage backend. class ResultsWriter { public: virtual ~ResultsWriter() = default; virtual Status write( const std::filesystem::path& outputPath, const Domain& domain, const AnalysisState& state, const std::vector& diagnostics) = 0; }; } // namespace fesa