Lexis  1.0.0
Vocabulary of events and shared objects for BBP and HBP software
Progress.h
1 
2 /* Copyright (c) 2016, Human Brain Project
3  * Stefan.Eilemann@epfl.ch
4  */
5 
6 #ifndef LEXIS_DATA_PROGRESS_H
7 #define LEXIS_DATA_PROGRESS_H
8 
9 #include <lexis/api.h>
10 #include <lexis/data/detail/progress.h> // base class
11 
12 namespace lexis
13 {
14 namespace data
15 {
17 class Progress : public detail::Progress
18 {
19 public:
20  LEXIS_API explicit Progress( unsigned long expected );
21  LEXIS_API Progress( const std::string& operation,
22  unsigned long expected );
23 
24  LEXIS_API void restart( unsigned long expected );
25  LEXIS_API unsigned long operator+=( unsigned long inc );
26  unsigned long operator++() { return operator += ( 1 ); }
27  unsigned long count() const { return _count; }
28 
29 private:
30  unsigned long _update();
31 
32  unsigned long _expected;
33  unsigned long _count;
34 };
35 }
36 }
37 
38 #endif
Defines export visibility macros for library Lexis.
Drop-in progress meter for boost::progress_display.
Definition: Progress.h:17