25 lines
685 B
C++
25 lines
685 B
C++
#include "fesa/results/results_writer.hpp"
|
|
|
|
#include "fesa/analysis/analysis_state.hpp"
|
|
#include "fesa/core/diagnostic.h"
|
|
#include "fesa/core/status.h"
|
|
#include "fesa/model/domain.hpp"
|
|
|
|
#include <filesystem>
|
|
#include <type_traits>
|
|
#include <vector>
|
|
|
|
namespace {
|
|
|
|
using WriteSignature = fesa::Status (fesa::ResultsWriter::*)(
|
|
const std::filesystem::path&,
|
|
const fesa::Domain&,
|
|
const fesa::AnalysisState&,
|
|
const std::vector<fesa::Diagnostic>&);
|
|
|
|
static_assert(std::has_virtual_destructor_v<fesa::ResultsWriter>);
|
|
static_assert(std::is_abstract_v<fesa::ResultsWriter>);
|
|
static_assert(std::is_same_v<decltype(&fesa::ResultsWriter::write), WriteSignature>);
|
|
|
|
} // namespace
|