29 #include <cloe/stack.hpp>
30 #include <sol/state_view.hpp>
34 class SimulationContext;
35 class SimulationMachine;
36 class SimulationResult;
37 class SimulationProbe;
45 Simulation(cloe::Stack&& config, sol::state_view lua,
const std::string& uuid);
51 cloe::Logger
logger()
const {
return logger_; }
76 bool write_output_file(
const std::filesystem::path& filepath,
const cloe::Json& j)
const;
81 bool is_writable(
const std::filesystem::path& filepath)
const;
101 void set_output_dir();
116 std::filesystem::path get_output_filepath(
const std::filesystem::path& filename)
const;
126 std::function<
void()> hook);
131 void reset_abort_handler() { abort_fn_ =
nullptr; }
135 sol::state_view lua_;
136 cloe::Logger logger_;
138 std::optional<std::filesystem::path> output_dir_;
139 std::function<void()> abort_fn_;
142 bool report_progress_{
false};
Definition: simulation_machine.hpp:101
Definition: simulation.hpp:39
void signal_abort()
Definition: simulation.cpp:366
cloe::Logger logger() const
Definition: simulation.hpp:51
bool write_output_file(const std::filesystem::path &filepath, const cloe::Json &j) const
Definition: simulation.cpp:315
SimulationResult run()
Definition: simulation.cpp:178
void set_report_progress(bool value)
Definition: simulation.hpp:86
bool is_writable(const std::filesystem::path &filepath) const
Definition: simulation.cpp:332
SimulationProbe probe()
Definition: simulation.cpp:241
size_t write_output(const SimulationResult &) const
Definition: simulation.cpp:288
Definition: simulation_context.hpp:67
Definition: simulation_probe.hpp:42
Definition: simulation_result.hpp:35