cgv
Loading...
Searching...
No Matches
progression.cxx
1#include "progression.h"
2
3#include <iostream>
4
5namespace cgv {
7 namespace utils {
8
11{
12 enumerations = -1;
13}
14
16progression::progression(const std::string& process, size_t total, int count)
17{
18 init(process, total, count);
19}
20
22void progression::init(const std::string& process, size_t total, int count)
23{
24 if (count > 0) {
25 std::cout << process << ":"; std::cout.flush();
26 percent = 0;
27 enumerations = 0;
28 next_shown = next_step = (total-1.1)/count;
29 percent_step = 100.0f/count;
30 }
31 else
32 enumerations = -1;
33}
34
37{
38 if (enumerations < 0)
39 return;
40 if (++enumerations > next_shown) {
41 next_shown += next_step;
42 percent += percent_step;
43 std::cout << " " << percent << "%";
44 if (percent > 99.9f)
45 std::cout << std::endl;
46 else
47 std::cout.flush();
48 }
49}
50
51 }
52}
the cgv namespace
Definition print.h:11
progression()
create empty progression
void step()
next iteration
void init(const std::string &process, size_t total, int count)
reinitialize