28 #include <boost/filesystem/path.hpp>
31 #include <sol/state.hpp>
45 std::vector<std::string> errors;
50 std::vector<std::string>
51 signals_autocompletion;
52 std::optional<std::filesystem::path> output_dir;
69 std::filesystem::path filepath;
70 if (filename.is_absolute()) {
72 }
else if (output_dir) {
73 filepath = *output_dir / filename;
75 throw cloe::ModelError{
"cannot determine output path for '{}'", filename.native()};
87 if (config.engine.output_path) {
89 if (config.engine.output_path->is_absolute()) {
91 output_dir = *config.engine.output_path;
92 }
else if (config.engine.registry_path) {
95 output_dir = *config.engine.registry_path / *config.engine.output_path;
102 {
"elapsed", r.elapsed},
103 {
"errors", r.errors},
104 {
"outcome", r.outcome},
105 {
"report", r.report},
106 {
"simulation", r.sync},
107 {
"statistics", r.statistics},
121 cloe::Logger
logger()
const {
return logger_; }
139 bool write_output_file(
const std::filesystem::path& filepath,
const cloe::Json& j)
const;
144 bool is_writable(
const std::filesystem::path& filepath)
const;
161 cloe::Logger logger_;
163 std::function<void()> abort_fn_;
166 bool report_progress_{
false};
Definition: stack.hpp:879
Definition: simulation_context.hpp:55
Definition: simulation.hpp:113
void signal_abort()
Definition: simulation.cpp:1677
cloe::Logger logger() const
Definition: simulation.hpp:121
bool write_output_file(const std::filesystem::path &filepath, const cloe::Json &j) const
Definition: simulation.cpp:1626
SimulationResult run()
Definition: simulation.cpp:1471
void set_report_progress(bool value)
Definition: simulation.hpp:149
bool is_writable(const std::filesystem::path &filepath) const
Definition: simulation.cpp:1643
size_t write_output(const SimulationResult &) const
Definition: simulation.cpp:1599
std::chrono::nanoseconds Duration
Definition: cloe_fwd.hpp:36
SimulationOutcome
Definition: simulation_context.hpp:150
Definition: simulation.hpp:38
void set_output_dir()
Definition: simulation.hpp:86
std::filesystem::path get_output_filepath(const std::filesystem::path &filename) const
Definition: simulation.hpp:68
Definition: simulation_context.hpp:121