28 #include <boost/filesystem/path.hpp>
46 boost::optional<boost::filesystem::path> output_dir;
63 boost::filesystem::path filepath;
64 if (filename.is_absolute()) {
66 }
else if (output_dir) {
67 filepath = *output_dir / filename;
69 throw cloe::ModelError{
"cannot determine output path for '{}'", filename.native()};
81 if (config.engine.output_path) {
83 if (config.engine.output_path->is_absolute()) {
85 output_dir = *config.engine.output_path;
86 }
else if (config.engine.registry_path) {
89 output_dir = *config.engine.registry_path / *config.engine.output_path;
96 {
"uuid", r.uuid}, {
"statistics", r.statistics}, {
"simulation", r.sync},
97 {
"elapsed", r.elapsed}, {
"outcome", r.outcome},
110 cloe::Logger
logger()
const {
return logger_; }
128 bool write_output_file(
const boost::filesystem::path& filepath,
const cloe::Json& j)
const;
133 bool is_writable(
const boost::filesystem::path& filepath)
const;
148 cloe::Logger logger_;
151 std::function<void()> abort_fn_;
154 bool report_progress_{
false};
Definition: stack.hpp:901
Definition: simulation_context.hpp:57
Definition: simulation.hpp:102
void signal_abort()
Definition: simulation.cpp:1387
cloe::Logger logger() const
Definition: simulation.hpp:110
SimulationResult run()
Definition: simulation.cpp:1197
void set_report_progress(bool value)
Definition: simulation.hpp:138
bool is_writable(const boost::filesystem::path &filepath) const
Definition: simulation.cpp:1353
bool write_output_file(const boost::filesystem::path &filepath, const cloe::Json &j) const
Definition: simulation.cpp:1336
size_t write_output(const SimulationResult &) const
Definition: simulation.cpp:1311
std::chrono::nanoseconds Duration
Definition: cloe_fwd.hpp:36
SimulationOutcome
Definition: simulation_context.hpp:287
Definition: simulation.hpp:37
void set_output_dir()
Definition: simulation.hpp:80
boost::filesystem::path get_output_filepath(const boost::filesystem::path &filename) const
Definition: simulation.hpp:62
Definition: simulation_context.hpp:258