⏱️ golxzn::os::chrono ⏱️ 1.2.4
Chrono for golxzn's projects.
Loading...
Searching...
No Matches
golxzn::os::chrono::time Class Reference

Class that represents time. More...

#include <time.hpp>

Public Member Functions

constexpr time (const std::chrono::microseconds duration) noexcept
 Constructor that creates time from std::chrono::microseconds.
 
template<class Rep , class Period >
constexpr time (const std::chrono::duration< Rep, Period > duration) noexcept
 Constructor that creates time from std::chrono::duration.
 
template<class Clock , class Duration = typename Clock::duration>
constexpr time (const std::chrono::time_point< Clock, Duration > time_point) noexcept
 Constructor that creates time from std::chrono::time_point.
 
template<class T >
constexpr time (const utils::floating_point_t< T > seconds) noexcept
 Constructor that creates time from seconds floating point value.
 
constexpr time (const i32 milliseconds) noexcept
 Constructor that creates time from milliseconds value.
 
constexpr time (const i64 microseconds) noexcept
 Constructor that creates time from microseconds value.
 
template<class T = f64>
constexpr utils::floating_point_t< T > seconds () const noexcept
 Returns duration in seconds.
 
constexpr i32 milliseconds () const noexcept
 Returns duration in milliseconds.
 
constexpr i64 microseconds () const noexcept
 Returns duration in microseconds.
 
constexpr std::chrono::microseconds duration () const noexcept
 Converts time to std::chrono::duration.
 
template<class Rep , class Period >
constexpr operator std::chrono::duration< Rep, Period > () const noexcept
 Converts time to std::chrono::duration.
 

Static Public Member Functions

static constexpr time zero () noexcept
 Zero time.
 
static time now () noexcept
 Now time.
 

Detailed Description

Class that represents time.

It's a wrapper around std::chrono::microseconds. This time representation is based on std::chrono::microseconds and is used in golxzn::os::chrono.

See also
golxzn::os::chrono::clock
golxzn::os::chrono::fast_clock
golxzn::os::chrono::timer
golxzn::os::chrono::fast_timer

Constructor & Destructor Documentation

◆ time() [1/6]

constexpr golxzn::os::chrono::time::time ( const std::chrono::microseconds  duration)
explicitconstexprnoexcept

◆ time() [2/6]

template<class Rep , class Period >
constexpr golxzn::os::chrono::time::time ( const std::chrono::duration< Rep, Period >  duration)
explicitconstexprnoexcept

◆ time() [3/6]

template<class Clock , class Duration = typename Clock::duration>
constexpr golxzn::os::chrono::time::time ( const std::chrono::time_point< Clock, Duration >  time_point)
explicitconstexprnoexcept

◆ time() [4/6]

template<class T >
constexpr golxzn::os::chrono::time::time ( const utils::floating_point_t< T >  seconds)
explicitconstexprnoexcept

Constructor that creates time from seconds floating point value.

Template Parameters
Tfloating point type (e.g. float, double)
See also
time(const i32 milliseconds)
time(const i64 microseconds)
seconds(const utils::floating_point_t<T> value)
milliseconds(const i32 value)
microseconds(const i64 value)

◆ time() [5/6]

constexpr golxzn::os::chrono::time::time ( const i32  milliseconds)
explicitconstexprnoexcept

◆ time() [6/6]

constexpr golxzn::os::chrono::time::time ( const i64  microseconds)
explicitconstexprnoexcept

Member Function Documentation

◆ duration()

constexpr std::chrono::microseconds golxzn::os::chrono::time::duration ( ) const
constexprnoexcept

Converts time to std::chrono::duration.

Template Parameters
RepDuration rep
PeriodDuration period
Returns
std::chrono::duration
See also
operator std::chrono::duration<Rep, Period>()

◆ microseconds()

constexpr i64 golxzn::os::chrono::time::microseconds ( ) const
constexprnoexcept

Returns duration in microseconds.

Returns
Microseconds as i64
See also
seconds()
milliseconds()

◆ milliseconds()

constexpr i32 golxzn::os::chrono::time::milliseconds ( ) const
constexprnoexcept

Returns duration in milliseconds.

Returns
Milliseconds as i32
See also
seconds()
microseconds()

◆ now()

static time golxzn::os::chrono::time::now ( )
staticnoexcept

Now time.

Returns
Current time.

◆ operator std::chrono::duration< Rep, Period >()

template<class Rep , class Period >
constexpr golxzn::os::chrono::time::operator std::chrono::duration< Rep, Period > ( ) const
explicitconstexprnoexcept

Converts time to std::chrono::duration.

Template Parameters
RepDuration rep
PeriodDuration period
Returns
std::chrono::duration<Rep, Period> with casted microseconds
See also
duration()

◆ seconds()

template<class T = f64>
constexpr utils::floating_point_t< T > golxzn::os::chrono::time::seconds ( ) const
constexprnoexcept

Returns duration in seconds.

Template Parameters
Tfloating point type (e.g. float, double). Default is f64 aka double.
Returns
Seconds as floating point type T
See also
milliseconds()
microseconds()

◆ zero()

static constexpr time golxzn::os::chrono::time::zero ( )
staticconstexprnoexcept

Zero time.

Returns
Well, zero, I guess.

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