26 lines
588 B
C++
26 lines
588 B
C++
#pragma once
|
|
|
|
#include "fesa/analysis/analysis_state.hpp"
|
|
#include "fesa/core/diagnostic.h"
|
|
#include "fesa/core/status.h"
|
|
#include "fesa/model/domain.h"
|
|
|
|
#include <filesystem>
|
|
#include <vector>
|
|
|
|
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<Diagnostic>& diagnostics) = 0;
|
|
};
|
|
|
|
} // namespace fesa
|