feat(cpp-object-oriented-modular-refactoring): step 23 - hdf5-writer-modules
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#ifndef FESA_IO_HDF5_HDF5_RESULT_WRITER_H_
|
||||
#define FESA_IO_HDF5_HDF5_RESULT_WRITER_H_
|
||||
|
||||
#include <hdf5.h>
|
||||
|
||||
#include <filesystem>
|
||||
#include <vector>
|
||||
|
||||
#include "fesa/analysis/analysis_state.h"
|
||||
#include "fesa/core/diagnostic.h"
|
||||
#include "fesa/core/status.h"
|
||||
#include "fesa/model/domain.h"
|
||||
#include "io/hdf5/hdf5_primitives.h"
|
||||
|
||||
namespace fesa::hdf5_internal {
|
||||
|
||||
/// @brief Builds the complete backend-neutral result dataset inventory.
|
||||
Result<WriterPlan> BuildWriterPlan(const std::filesystem::path& output_path,
|
||||
const Domain& domain,
|
||||
const AnalysisState& state,
|
||||
const std::vector<Diagnostic>& diagnostics);
|
||||
|
||||
/// @brief Rejects malformed, duplicate, shape-mismatched, or nonfinite plans.
|
||||
Status ValidateFiniteInventory(const std::vector<DoubleDatasetPlan>& datasets);
|
||||
|
||||
/// @brief Writes mandatory beam/shell/global results and diagnostics.
|
||||
void WriteResults(hid_t file, const Domain& domain, const AnalysisState& state,
|
||||
const std::vector<Diagnostic>& diagnostics,
|
||||
const WriterPlan& plan);
|
||||
|
||||
} // namespace fesa::hdf5_internal
|
||||
|
||||
#endif // FESA_IO_HDF5_HDF5_RESULT_WRITER_H_
|
||||
Reference in New Issue
Block a user