3#ifndef __CORE__SERDE_HPP__
4#define __CORE__SERDE_HPP__
5#include <core/global_initaliser.hpp>
7#include <core/case_data.hpp>
14 std::shared_ptr<IO::Logger>& logger,
17 std::optional<Simulation::Feed::SimulationFeed> feed,
18 std::optional<Simulation::MassTransfer::Type::MtrTypeVariant> mtr_type);
23# include <cereal/archives/binary.hpp>
30 template <
typename T =
void>
31 requires AutoGenerated::FlagCompileTime::use_cereal_serde
35 std::cout <<
"Serialization...";
37 std::cout <<
"Done" << std::endl;
40 template <
typename T =
void>
41 requires AutoGenerated::FlagCompileTime::use_cereal_serde
42 std::optional<Core::CaseData>
43 load(std::shared_ptr<IO::Logger>& logger,
45 const Core::UserControlParameters&& params,
46 std::optional<Simulation::Feed::SimulationFeed> feed,
47 std::optional<Simulation::MassTransfer::Type::MtrTypeVariant> mtr_type)
50 logger, exec, std::move(params), std::move(feed), std::move(mtr_type));
55 template <
typename T =
void>
56 requires(!AutoGenerated::FlagCompileTime::use_cereal_serde)
63 template <
typename T =
void>
64 requires(!AutoGenerated::FlagCompileTime::use_cereal_serde)
65 [[maybe_unused]] std::optional<Core::CaseData>
68 [[maybe_unused]] std::optional<Simulation::Feed::SimulationFeed> feed,
69 [[maybe_unused]] std::optional<
void save_simulation(const Core::CaseData &case_data)
std::optional< Core::CaseData > impl_load(std::shared_ptr< IO::Logger > &logger, const ExecInfo &exec, const Core::UserControlParameters &¶ms, std::optional< Simulation::Feed::SimulationFeed > feed, std::optional< Simulation::MassTransfer::Type::MtrTypeVariant > mtr_type)
void do_serde(Core::CaseData &)
Definition serde.hpp:58
std::optional< Core::CaseData > load(const ExecInfo &exec, const Core::UserControlParameters &¶ms, std::optional< Simulation::Feed::SimulationFeed > feed, std::optional< Simulation::MassTransfer::Type::MtrTypeVariant > mtr_type)
Definition serde.hpp:66
std::variant< FlowmapTurbulence, FixedKla, FlowmapKla, Auto > MtrTypeVariant
Definition mass_transfer.hpp:43
Holds the data required to execute a simulation case.
Definition case_data.hpp:40
A structure to hold user-defined control parameters for simulation settings.
Definition simulation_parameters.hpp:24
Definition execinfo.hpp:22