about summary refs log tree commit diff stats
path: root/verbly/generator/progress.h
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2016-03-16 21:35:35 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2016-03-16 21:35:35 -0400
commit8b1333d0e6e2b9a5014bdbff2987d899f5413fee (patch)
treeab5c864b61cab267ad3118e8cbe637c151448aa5 /verbly/generator/progress.h
parent3aceae8ab1eb5992110ea57a9479bbc3177feb21 (diff)
downloadfurries-8b1333d0e6e2b9a5014bdbff2987d899f5413fee.tar.gz
furries-8b1333d0e6e2b9a5014bdbff2987d899f5413fee.tar.bz2
furries-8b1333d0e6e2b9a5014bdbff2987d899f5413fee.zip
Added word derivational relationships (kind of eh at the moment) and moved verbly into its own directory
Diffstat (limited to 'verbly/generator/progress.h')
-rw-r--r--verbly/generator/progress.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/verbly/generator/progress.h b/verbly/generator/progress.h new file mode 100644 index 0000000..81f07a3 --- /dev/null +++ b/verbly/generator/progress.h
@@ -0,0 +1,50 @@
1#ifndef PROGRESS_H_A34EF856
2#define PROGRESS_H_A34EF856
3
4#include <string>
5
6class progress {
7 private:
8 std::string message;
9 int total;
10 int cur = 0;
11 int lprint = 0;
12
13 public:
14 progress(std::string message, int total) : message(message), total(total)
15 {
16 std::cout << message << " 0%" << std::flush;
17 }
18
19 void update(int val)
20 {
21 if (val <= total)
22 {
23 cur = val;
24 } else {
25 cur = total;
26 }
27
28 int pp = cur * 100 / total;
29 if (pp != lprint)
30 {
31 lprint = pp;
32
33 std::cout << "\b\b\b\b" << std::right;
34 std::cout.width(3);
35 std::cout << pp << "%" << std::flush;
36 }
37 }
38
39 void update()
40 {
41 update(cur+1);
42 }
43
44 ~progress()
45 {
46 std::cout << "\b\b\b\b100%" << std::endl;
47 }
48};
49
50#endif /* end of include guard: PROGRESS_H_A34EF856 */