#pragma once #include #include #include class ProgressBar { public: ProgressBar(uint64_t files, uint64_t bytes); void update(uint64_t addFiles, uint64_t newBytes); std::chrono::duration getDuration() const; private: static const uint_fast8_t BARLENGTH; uint64_t maxFiles; uint64_t maxBytes; uint64_t currentFiles = 0; uint64_t currentBytes = 0; std::chrono::time_point start = std::chrono::high_resolution_clock::now(); friend std::ostream& operator<<(std::ostream& str, const ProgressBar&); }; std::ostream& operator<<(std::ostream& str, const ProgressBar&);