Recast  1
Game with custom magic
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Attributes | List of all members
SynchronizedBlockingTimer Class Reference

#include <SynchronizedBlockingTimer.hpp>

Inheritance diagram for SynchronizedBlockingTimer:
Inheritance graph
Collaboration diagram for SynchronizedBlockingTimer:
Collaboration graph

Public Member Functions

 SynchronizedBlockingTimer (std::chrono::milliseconds minDelta)
 
std::chrono::milliseconds delta () const override
 
std::chrono::milliseconds minDelta () const override
 
double deltaFloatSeconds () const override
 
bool isFirstUpdate () const override
 
void update () override
 
void wait () override
 
- Public Member Functions inherited from ITimer
virtual ~ITimer () noexcept=default
 

Protected Attributes

std::chrono::milliseconds _minDelta
 
std::chrono::system_clock::time_point _lastUpdateTime
 
std::mutex _lastUpdateTimeMutex
 
bool _isFirstUpdate
 

Detailed Description

Implementation of blocking timer.

Constructor & Destructor Documentation

SynchronizedBlockingTimer::SynchronizedBlockingTimer ( std::chrono::milliseconds  minDelta)

Member Function Documentation

milliseconds SynchronizedBlockingTimer::delta ( ) const
overridevirtual
Returns
Time from last update in milliseconds.

Implements ITimer.

Here is the caller graph for this function:

double SynchronizedBlockingTimer::deltaFloatSeconds ( ) const
overridevirtual
Returns
Time from last update in float-number seconds.

Implements ITimer.

Here is the call graph for this function:

bool SynchronizedBlockingTimer::isFirstUpdate ( ) const
overridevirtual
Returns
True if timer was never updated.

Implements ITimer.

milliseconds SynchronizedBlockingTimer::minDelta ( ) const
overridevirtual
Returns
Minimum possible value of delta.

Implements ITimerBlockableMixin.

void SynchronizedBlockingTimer::update ( )
overridevirtual

Saves update, saves the "tick". It will influence value of delta.

Implements ITimer.

void SynchronizedBlockingTimer::wait ( )
overridevirtual

Blocks until delta >= minDelta.

Implements ITimerBlockableMixin.

Member Data Documentation

bool SynchronizedBlockingTimer::_isFirstUpdate
protected
std::chrono::system_clock::time_point SynchronizedBlockingTimer::_lastUpdateTime
protected
std::mutex SynchronizedBlockingTimer::_lastUpdateTimeMutex
mutableprotected
std::chrono::milliseconds SynchronizedBlockingTimer::_minDelta
protected

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