BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
DelayedProgressCounter Class Reference

Description

Counter for reporting progress (with delay interval) in a threaded computation.

Definition at line 29 of file DelayedProgressCounter.h.

Collaboration diagram for DelayedProgressCounter:
[legend]

Public Member Functions

 DelayedProgressCounter (ProgressHandler *p_progress, size_t interval)
 
 ~DelayedProgressCounter ()=default
 
void stepProgress ()
 Increments inner counter; at regular intervals updates progress handler. More...
 

Private Attributes

size_t m_count
 
const size_t m_interval
 
ProgressHandlerm_progress
 

Constructor & Destructor Documentation

◆ DelayedProgressCounter()

DelayedProgressCounter::DelayedProgressCounter ( ProgressHandler p_progress,
size_t  interval 
)

Definition at line 18 of file DelayedProgressCounter.cpp.

19  : m_progress(p_progress)
20  , m_interval(interval)
21  , m_count(0)
22 {
23 }

◆ ~DelayedProgressCounter()

DelayedProgressCounter::~DelayedProgressCounter ( )
default

Member Function Documentation

◆ stepProgress()

void DelayedProgressCounter::stepProgress ( )

Increments inner counter; at regular intervals updates progress handler.

Definition at line 25 of file DelayedProgressCounter.cpp.

26 {
27  ++m_count;
28  if (m_count == m_interval) {
30  m_count = 0;
31  }
32 }
void incrementDone(size_t ticks_done)
Increments number of completed computation steps (ticks). Performs callback (method m_inform) to info...

References ProgressHandler::incrementDone(), m_count, m_interval, and m_progress.

Here is the call graph for this function:

Member Data Documentation

◆ m_count

size_t DelayedProgressCounter::m_count
private

Definition at line 40 of file DelayedProgressCounter.h.

Referenced by stepProgress().

◆ m_interval

const size_t DelayedProgressCounter::m_interval
private

Definition at line 39 of file DelayedProgressCounter.h.

Referenced by stepProgress().

◆ m_progress

ProgressHandler* DelayedProgressCounter::m_progress
private

Definition at line 38 of file DelayedProgressCounter.h.

Referenced by stepProgress().


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