#pragma once #include #include #include #include namespace wfr { namespace wep { // Forward declarations class WorkflowExecutionPlan; class AbstractWepNode; // main namespace namespace utils { class WepProgressionWriter { // Invariant properties that can be accessed directly. public: const std::shared_ptr wep; const std::string workflowName; private: std::ofstream outfile; int64_t epoch = 0; public: WepProgressionWriter(const std::shared_ptr& wep) noexcept; void openFile(const std::string filename = std::string()); void writeProgressToFile(); void closeFile(); }; } /* namespace utils */ } /* namespace wep */ } /* namespace wfr */