1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
/* +------------------------------------------------------------------------+
| Mobile Robot Programming Toolkit (MRPT) |
| https://www.mrpt.org/ |
| |
| Copyright (c) 2005-2023, Individual contributors, see AUTHORS file |
| See: https://www.mrpt.org/Authors - All rights reserved. |
| Released under BSD License. See: https://www.mrpt.org/License |
+------------------------------------------------------------------------+ */
/** \example system_progress_bar/test.cpp */
//! [example-system-progress-bar]
#include <mrpt/core/exceptions.h>
#include <mrpt/system/progress.h>
#include <chrono>
#include <iostream>
#include <thread>
void TestProgressBar()
{
const int end = 400;
const size_t barWidth = 30;
for (int i = 0; i <= end; i++)
{
double p = double(i) / end;
std::cout << "Progress: " << mrpt::system::progress(p, barWidth)
<< mrpt::format(" %5.02f%%", 100 * p) << "\r";
std::cout.flush();
std::this_thread::sleep_for(std::chrono::milliseconds(5));
}
std::cout << std::endl;
}
//! [example-system-progress-bar]
int main()
{
try
{
TestProgressBar();
return 0;
}
catch (const std::exception& e)
{
std::cerr << mrpt::exception_to_str(e) << std::endl;
return -1;
}
}
|