Added everything
This commit is contained in:
66
Progress.cpp
Normal file
66
Progress.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
#include "Progress.h"
|
||||
#include <sstream>
|
||||
|
||||
using std::ostream;
|
||||
using std::string;
|
||||
using std::stringstream;
|
||||
|
||||
Progress::Progress(const string& message, size_t total, size_t current)
|
||||
: m_current(current),
|
||||
m_total(total),
|
||||
m_message(message)
|
||||
{
|
||||
if (m_current > m_total)
|
||||
{
|
||||
m_current = m_total;
|
||||
}
|
||||
}
|
||||
|
||||
void Progress::set_total(size_t total)
|
||||
{
|
||||
m_total = total;
|
||||
|
||||
if (m_current > m_total)
|
||||
{
|
||||
m_current = m_total;
|
||||
}
|
||||
}
|
||||
|
||||
void Progress::set_progress(size_t current)
|
||||
{
|
||||
m_current = current;
|
||||
|
||||
if (m_current > m_total)
|
||||
{
|
||||
m_current = m_total;
|
||||
}
|
||||
}
|
||||
|
||||
void Progress::set_message(const std::string& message)
|
||||
{
|
||||
m_message = message;
|
||||
}
|
||||
|
||||
void Progress::increment_progress(size_t inc)
|
||||
{
|
||||
m_current += inc;
|
||||
|
||||
if (m_current > m_total)
|
||||
{
|
||||
m_current = m_total;
|
||||
}
|
||||
}
|
||||
|
||||
string Progress::print_progress()
|
||||
{
|
||||
stringstream out;
|
||||
out << m_current << "/" << m_total << " - " << m_message;
|
||||
return out.str();
|
||||
}
|
||||
|
||||
ostream& operator<<(ostream& out, const Progress& progress)
|
||||
{
|
||||
out << progress.m_current << "/" << progress.m_total;
|
||||
out << " - " << progress.m_message;
|
||||
return out;
|
||||
}
|
||||
Reference in New Issue
Block a user