tsm  0.1.0
Public Types | Public Member Functions | Protected Attributes | List of all members
tsm::Timer< Clock, Duration > Struct Template Reference

Helper to implement a Timed Execution Policy. More...

#include <tsm_impl.h>

Inheritance diagram for tsm::Timer< Clock, Duration >:
Inheritance graph
Collaboration diagram for tsm::Timer< Clock, Duration >:
Collaboration graph

Public Types

using ClockType = Clock
 
using DurationType = Duration
 

Public Member Functions

void start ()
 
Duration elapsed () const
 
template<typename ToDuration = Duration>
Duration elapsed (ToDuration since) const
 
template<typename ToDuration >
ToDuration elapsed () const
 
bool started () const
 
void reset ()
 
void stop ()
 

Protected Attributes

Clock::time_point start_time_
 
bool started_ { false }
 

Detailed Description

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
struct tsm::Timer< Clock, Duration >

Helper to implement a Timed Execution Policy.

Member Typedef Documentation

◆ ClockType

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
using tsm::Timer< Clock, Duration >::ClockType = Clock

◆ DurationType

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
using tsm::Timer< Clock, Duration >::DurationType = Duration

Member Function Documentation

◆ elapsed() [1/3]

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
Duration tsm::Timer< Clock, Duration >::elapsed ( ) const
inline

◆ elapsed() [2/3]

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
template<typename ToDuration >
ToDuration tsm::Timer< Clock, Duration >::elapsed ( ) const
inline

◆ elapsed() [3/3]

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
template<typename ToDuration = Duration>
Duration tsm::Timer< Clock, Duration >::elapsed ( ToDuration  since) const
inline

◆ reset()

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
void tsm::Timer< Clock, Duration >::reset ( )
inline

◆ start()

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
void tsm::Timer< Clock, Duration >::start ( )
inline

◆ started()

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
bool tsm::Timer< Clock, Duration >::started ( ) const
inline

◆ stop()

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
void tsm::Timer< Clock, Duration >::stop ( )
inline

Member Data Documentation

◆ start_time_

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
Clock::time_point tsm::Timer< Clock, Duration >::start_time_
protected

◆ started_

template<typename Clock = std::chrono::steady_clock, typename Duration = typename Clock::duration>
bool tsm::Timer< Clock, Duration >::started_ { false }
protected

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