|
ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
|
One stage's progress report, RAII: started on construction, finished on destruction, update() in between. More...
#include <processing_observer.hpp>
Public Member Functions | |
| ProgressObserver (Stage stage, size_t total=0) | |
| ~ProgressObserver () | |
| ProgressObserver (const ProgressObserver &)=delete | |
| ProgressObserver & | operator= (const ProgressObserver &)=delete |
| void | update (size_t progress=1) |
| void | operator++ () |
| void | operator+= (size_t increment) |
One stage's progress report, RAII: started on construction, finished on destruction, update() in between.
The observer it reports to is chosen ONCE, at construction, from the constructing thread (current_progress_observer()). That is what makes progress attributable per job when several stages run at once in one process: a stage constructs its ProgressObserver on the thread that runs it, under that job's ScopedProgressObserver, and every later update() — including the ones TBB or OpenMP worker threads make from inside a parallel loop, which carry no thread-local state of their own — still lands on that job's observer.
Definition at line 46 of file processing_observer.hpp.
|
explicit |
Referenced by operator=(), and ProgressObserver().
| reusex::core::ProgressObserver::~ProgressObserver | ( | ) |
|
delete |
References ProgressObserver().
|
inline |
Definition at line 56 of file processing_observer.hpp.
References update().
|
inline |
Definition at line 57 of file processing_observer.hpp.
References update().
|
delete |
References ProgressObserver().
| void reusex::core::ProgressObserver::update | ( | size_t | progress = 1 | ) |
Referenced by operator++(), and operator+=().