SObjectizer  5.5
Public Member Functions | Private Types | Private Attributes | List of all members
so_5::details::remaining_time_counter_t Class Reference

Helper class for calculating remaining time. More...

#include <remaining_time_counter.hpp>

Public Member Functions

 remaining_time_counter_t (duration remaining)
 
void update ()
 
duration remaining () const
 
 operator bool () const
 

Private Types

using time_point = std::chrono::steady_clock::time_point
 
using duration = std::chrono::steady_clock::duration
 

Private Attributes

time_point m_last_time
 
duration m_remaining
 

Detailed Description

Helper class for calculating remaining time.

Usage example:

so_5::details::remaining_time_counter_t time_counter{ wait_time };
do
{
some_task( time_counter.remaining() );
time_counter.update();
}
while( time_counter );
Since
v.5.5.16

Member Typedef Documentation

◆ duration

using so_5::details::remaining_time_counter_t::duration = std::chrono::steady_clock::duration
private

◆ time_point

using so_5::details::remaining_time_counter_t::time_point = std::chrono::steady_clock::time_point
private

Constructor & Destructor Documentation

◆ remaining_time_counter_t()

so_5::details::remaining_time_counter_t::remaining_time_counter_t ( duration  remaining)
inline

Member Function Documentation

◆ operator bool()

so_5::details::remaining_time_counter_t::operator bool ( ) const
inline
Returns
true if m_remaining is greater than duration::zero().

◆ remaining()

duration so_5::details::remaining_time_counter_t::remaining ( ) const
inline

◆ update()

void so_5::details::remaining_time_counter_t::update ( )
inline

Member Data Documentation

◆ m_last_time

time_point so_5::details::remaining_time_counter_t::m_last_time
private
Note
This member in not declared as const to allow reassignment for remaining_time_counter_t object. Like in such cases:
remaining_time_counter_t counter{ some_initial_value };
do
{
do_something();
if( needs_restart )
counter = remaining_time_counter_t{ some_initial_value };
else
counter.update();
}
while( counter );

◆ m_remaining

duration so_5::details::remaining_time_counter_t::m_remaining
private

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