ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
reusex::core::ProgressObserver Class Reference

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)

Detailed Description

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.

Constructor & Destructor Documentation

◆ ProgressObserver() [1/2]

reusex::core::ProgressObserver::ProgressObserver ( Stage stage,
size_t total = 0 )
explicit

Referenced by operator=(), and ProgressObserver().

◆ ~ProgressObserver()

reusex::core::ProgressObserver::~ProgressObserver ( )

◆ ProgressObserver() [2/2]

reusex::core::ProgressObserver::ProgressObserver ( const ProgressObserver & )
delete

References ProgressObserver().

Member Function Documentation

◆ operator++()

void reusex::core::ProgressObserver::operator++ ( )
inline

Definition at line 56 of file processing_observer.hpp.

References update().

◆ operator+=()

void reusex::core::ProgressObserver::operator+= ( size_t increment)
inline

Definition at line 57 of file processing_observer.hpp.

References update().

◆ operator=()

ProgressObserver & reusex::core::ProgressObserver::operator= ( const ProgressObserver & )
delete

References ProgressObserver().

◆ update()

void reusex::core::ProgressObserver::update ( size_t progress = 1)

Referenced by operator++(), and operator+=().


The documentation for this class was generated from the following file: