roo_time
API Documentation for roo_time
Loading...
Searching...
No Matches
roo_time::Duration Class Reference

Represents an amount of time (e.g. 5s, 10min). More...

#include <roo_time.h>

Data Structures

struct  Components
 Calendar-like decomposition of a duration value. More...
 

Public Member Functions

constexpr Duration ()
 Constructs zero duration.
 
constexpr int64_t inMicros () const
 Returns duration in microseconds.
 
constexpr int64_t inMillis () const
 Returns duration in milliseconds, rounded toward zero.
 
constexpr int64_t inSeconds () const
 Returns duration in seconds, rounded toward zero.
 
constexpr int64_t inMinutes () const
 Returns duration in minutes, rounded toward zero.
 
constexpr int64_t inHours () const
 Returns duration in hours, rounded toward zero.
 
constexpr int64_t inMillisRoundedDown () const
 Returns duration in milliseconds, rounded toward zero.
 
constexpr int64_t inSecondsRoundedDown () const
 Returns duration in seconds, rounded toward zero.
 
constexpr int64_t inMinutesRoundedDown () const
 Returns duration in minutes, rounded toward zero.
 
constexpr int64_t inHoursRoundedDown () const
 Returns duration in hours, rounded toward zero.
 
constexpr int64_t inMillisRoundedUp () const
 Returns duration in milliseconds, rounded away from zero.
 
constexpr int64_t inSecondsRoundedUp () const
 Returns duration in seconds, rounded away from zero.
 
constexpr int64_t inMinutesRoundedUp () const
 Returns duration in minutes, rounded away from zero.
 
constexpr int64_t inHoursRoundedUp () const
 Returns duration in hours, rounded away from zero.
 
constexpr int64_t inMillisRoundedNearest () const
 Returns duration in milliseconds, rounded to nearest (ties away from zero).
 
constexpr int64_t inSecondsRoundedNearest () const
 Returns duration in seconds, rounded to nearest (ties away from zero).
 
constexpr int64_t inMinutesRoundedNearest () const
 Returns duration in minutes, rounded to nearest (ties away from zero).
 
constexpr int64_t inHoursRoundedNearest () const
 Returns duration in hours, rounded to nearest (ties away from zero).
 
constexpr float inMillisFloat () const
 Returns duration in milliseconds as floating-point value.
 
constexpr float inSecondsFloat () const
 Returns duration in seconds as floating-point value.
 
constexpr float inMinutesFloat () const
 Returns duration in minutes as floating-point value.
 
constexpr float inHoursFloat () const
 Returns duration in hours as floating-point value.
 
Durationoperator+= (const Duration &other)
 Adds another duration to this one.
 
Durationoperator-= (const Duration &other)
 Subtracts another duration from this one.
 
Components toComponents ()
 Breaks duration into components (days, hours, minutes, ...).
 

Static Public Member Functions

static const Duration Max ()
 Returns the maximum representable duration.
 
static Duration FromComponents (const Components &components)
 Reconstructs duration from components.
 

Friends

constexpr Duration Micros (long long micros)
 Constructs a duration from microseconds.
 
constexpr Duration Millis (long long millis)
 Constructs a duration from milliseconds.
 
constexpr Duration Seconds (long long seconds)
 Constructs a duration from seconds.
 
constexpr Duration Minutes (long long minutes)
 Constructs a duration from minutes.
 
constexpr Duration Hours (long long hours)
 Constructs a duration from hours.
 
constexpr Duration Millis (float millis)
 
constexpr Duration Seconds (float seconds)
 
constexpr Duration Minutes (float minutes)
 
constexpr Duration Hours (float hours)
 
constexpr Duration Millis (double millis)
 
constexpr Duration Seconds (double seconds)
 
constexpr Duration Minutes (double minutes)
 
constexpr Duration Hours (double hours)
 

Detailed Description

Represents an amount of time (e.g. 5s, 10min).

Stored with microsecond precision and 64-bit range. Pass by value. For rounding semantics, see README section "Rounding semantics".

Definition at line 25 of file roo_time.h.

Constructor & Destructor Documentation

◆ Duration()

constexpr roo_time::Duration::Duration ( )
inlineconstexpr

Constructs zero duration.

Definition at line 38 of file roo_time.h.

Referenced by Max().

Member Function Documentation

◆ FromComponents()

◆ inHours()

constexpr int64_t roo_time::Duration::inHours ( ) const
inlineconstexpr

Returns duration in hours, rounded toward zero.

Definition at line 62 of file roo_time.h.

References inHoursRoundedDown().

Referenced by roo_time::DateTime::DateTime().

◆ inHoursFloat()

constexpr float roo_time::Duration::inHoursFloat ( ) const
inlineconstexpr

Returns duration in hours as floating-point value.

Definition at line 167 of file roo_time.h.

◆ inHoursRoundedDown()

constexpr int64_t roo_time::Duration::inHoursRoundedDown ( ) const
inlineconstexpr

Returns duration in hours, rounded toward zero.

Definition at line 80 of file roo_time.h.

Referenced by inHours().

◆ inHoursRoundedNearest()

constexpr int64_t roo_time::Duration::inHoursRoundedNearest ( ) const
inlineconstexpr

Returns duration in hours, rounded to nearest (ties away from zero).

Definition at line 145 of file roo_time.h.

◆ inHoursRoundedUp()

constexpr int64_t roo_time::Duration::inHoursRoundedUp ( ) const
inlineconstexpr

Returns duration in hours, rounded away from zero.

Definition at line 109 of file roo_time.h.

◆ inMicros()

◆ inMillis()

constexpr int64_t roo_time::Duration::inMillis ( ) const
inlineconstexpr

Returns duration in milliseconds, rounded toward zero.

Definition at line 47 of file roo_time.h.

References inMillisRoundedDown().

◆ inMillisFloat()

constexpr float roo_time::Duration::inMillisFloat ( ) const
inlineconstexpr

Returns duration in milliseconds as floating-point value.

Definition at line 154 of file roo_time.h.

◆ inMillisRoundedDown()

constexpr int64_t roo_time::Duration::inMillisRoundedDown ( ) const
inlineconstexpr

Returns duration in milliseconds, rounded toward zero.

Definition at line 65 of file roo_time.h.

Referenced by inMillis().

◆ inMillisRoundedNearest()

constexpr int64_t roo_time::Duration::inMillisRoundedNearest ( ) const
inlineconstexpr

Returns duration in milliseconds, rounded to nearest (ties away from zero).

Definition at line 118 of file roo_time.h.

◆ inMillisRoundedUp()

constexpr int64_t roo_time::Duration::inMillisRoundedUp ( ) const
inlineconstexpr

Returns duration in milliseconds, rounded away from zero.

Definition at line 85 of file roo_time.h.

◆ inMinutes()

constexpr int64_t roo_time::Duration::inMinutes ( ) const
inlineconstexpr

Returns duration in minutes, rounded toward zero.

Definition at line 57 of file roo_time.h.

References inMinutesRoundedDown().

◆ inMinutesFloat()

constexpr float roo_time::Duration::inMinutesFloat ( ) const
inlineconstexpr

Returns duration in minutes as floating-point value.

Definition at line 162 of file roo_time.h.

◆ inMinutesRoundedDown()

constexpr int64_t roo_time::Duration::inMinutesRoundedDown ( ) const
inlineconstexpr

Returns duration in minutes, rounded toward zero.

Definition at line 75 of file roo_time.h.

Referenced by inMinutes().

◆ inMinutesRoundedNearest()

constexpr int64_t roo_time::Duration::inMinutesRoundedNearest ( ) const
inlineconstexpr

Returns duration in minutes, rounded to nearest (ties away from zero).

Definition at line 136 of file roo_time.h.

◆ inMinutesRoundedUp()

constexpr int64_t roo_time::Duration::inMinutesRoundedUp ( ) const
inlineconstexpr

Returns duration in minutes, rounded away from zero.

Definition at line 101 of file roo_time.h.

◆ inSeconds()

constexpr int64_t roo_time::Duration::inSeconds ( ) const
inlineconstexpr

Returns duration in seconds, rounded toward zero.

Definition at line 52 of file roo_time.h.

References inSecondsRoundedDown().

◆ inSecondsFloat()

constexpr float roo_time::Duration::inSecondsFloat ( ) const
inlineconstexpr

Returns duration in seconds as floating-point value.

Definition at line 157 of file roo_time.h.

◆ inSecondsRoundedDown()

constexpr int64_t roo_time::Duration::inSecondsRoundedDown ( ) const
inlineconstexpr

Returns duration in seconds, rounded toward zero.

Definition at line 70 of file roo_time.h.

Referenced by inSeconds().

◆ inSecondsRoundedNearest()

constexpr int64_t roo_time::Duration::inSecondsRoundedNearest ( ) const
inlineconstexpr

Returns duration in seconds, rounded to nearest (ties away from zero).

Definition at line 127 of file roo_time.h.

◆ inSecondsRoundedUp()

constexpr int64_t roo_time::Duration::inSecondsRoundedUp ( ) const
inlineconstexpr

Returns duration in seconds, rounded away from zero.

Definition at line 93 of file roo_time.h.

◆ Max()

static const Duration roo_time::Duration::Max ( )
inlinestatic

Returns the maximum representable duration.

Definition at line 41 of file roo_time.h.

References Duration().

◆ operator+=()

Duration & roo_time::Duration::operator+= ( const Duration other)
inline

Adds another duration to this one.

Definition at line 172 of file roo_time.h.

References inMicros().

◆ operator-=()

Duration & roo_time::Duration::operator-= ( const Duration other)
inline

Subtracts another duration from this one.

Definition at line 178 of file roo_time.h.

References inMicros().

◆ toComponents()

Friends And Related Symbol Documentation

◆ Hours [1/3]

constexpr Duration Hours ( double  hours)
friend

Definition at line 386 of file roo_time.h.

◆ Hours [2/3]

constexpr Duration Hours ( float  hours)
friend

Definition at line 382 of file roo_time.h.

◆ Hours [3/3]

constexpr Duration Hours ( long long  hours)
friend

Constructs a duration from hours.

Overloads accept integer and floating-point input types.

Definition at line 350 of file roo_time.h.

◆ Micros

constexpr Duration Micros ( long long  micros)
friend

Constructs a duration from microseconds.

Definition at line 216 of file roo_time.h.

Referenced by FromComponents().

◆ Millis [1/3]

constexpr Duration Millis ( double  millis)
friend

Definition at line 257 of file roo_time.h.

◆ Millis [2/3]

constexpr Duration Millis ( float  millis)
friend

Definition at line 253 of file roo_time.h.

◆ Millis [3/3]

constexpr Duration Millis ( long long  millis)
friend

Constructs a duration from milliseconds.

Overloads accept integer and floating-point input types.

Definition at line 221 of file roo_time.h.

◆ Minutes [1/3]

constexpr Duration Minutes ( double  minutes)
friend

Definition at line 343 of file roo_time.h.

◆ Minutes [2/3]

constexpr Duration Minutes ( float  minutes)
friend

Definition at line 339 of file roo_time.h.

◆ Minutes [3/3]

constexpr Duration Minutes ( long long  minutes)
friend

Constructs a duration from minutes.

Overloads accept integer and floating-point input types.

Definition at line 307 of file roo_time.h.

◆ Seconds [1/3]

constexpr Duration Seconds ( double  seconds)
friend

Definition at line 300 of file roo_time.h.

◆ Seconds [2/3]

constexpr Duration Seconds ( float  seconds)
friend

Definition at line 296 of file roo_time.h.

◆ Seconds [3/3]

constexpr Duration Seconds ( long long  seconds)
friend

Constructs a duration from seconds.

Overloads accept integer and floating-point input types.

Definition at line 264 of file roo_time.h.


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