Class duration_t

Class Documentation

class duration_t

hz_t is used to represent frequency in Hertz (Hz) from timer_t

Public Functions

inline duration_t()

Default Constructor.

inline duration_t(double microseconds_)

Constructor

Parameters:

microseconds_ – Stored duration value in microseconds.

~duration_t() = default

Default destructor.

inline double hz() const

Convert to frequency in Hz

Returns:

Frequency corresponding to this period, in Hertz.

inline double ms() const

convert to milliseconds

Returns:

Duration value in milliseconds.

inline uint64_t us() const

convert to microseconds

Returns:

Duration value in microseconds.

inline double fps() const

convert to frames per second

Returns:

Frame rate equivalent of this period, in FPS.

inline double s() const

convert to seconds

Returns:

Duration value in seconds.

inline int64_t int64() const

convert to int64_t microseconds

Returns:

Duration in microseconds rounded to int64_t.

inline explicit operator uint64_t() const noexcept

Implicit conversion to double (microseconds)

Returns:

Duration value in microseconds.

inline bool operator==(const duration_t &other_) const

Operator ==

Parameters:

other_ – Duration to compare against this object.

Returns:

true when both durations have the same microsecond value.

inline bool operator==(const uint64_t other_) const

Equality operator with raw microseconds.

Parameters:

other_ – Raw duration in microseconds for comparison.

Returns:

true when other_ equals this duration value.

inline bool operator>(const duration_t &other_) const

Greater than operator

Parameters:

other_ – Duration to compare against this object.

Returns:

true when this duration is longer than other_.

inline bool operator<(const duration_t &other_) const

Less than operator

Parameters:

other_ – Duration to compare against this object.

Returns:

true when this duration is shorter than other_.

inline explicit operator std::string() const

To string

Returns:

Human-readable duration string in microseconds.

Public Static Functions

static inline uint64_t from_int64(uint64_t us_)

Static conversion function from raw microseconds.

Parameters:

us_ – Duration value already expressed in microseconds.

Returns:

Input value unchanged, interpreted as microseconds.

static inline uint64_t from_hz(double hz_)

Static conversion functions: from hz

Parameters:

hz_ – Frequency in Hertz to convert into period duration.

Returns:

Equivalent period in microseconds for frequency hz_.

static inline uint64_t from_ms(double ms_)

Static conversion functions: from milliseconds

Parameters:

ms_ – Duration value in milliseconds.

Returns:

Equivalent duration in microseconds.

static inline uint64_t from_us(uint64_t us_)

Static conversion functions: from microseconds

Parameters:

us_ – Duration value in microseconds.

Returns:

Input value unchanged.

static inline uint64_t from_fps(double fps_)

Static conversion functions: from frames per second

Parameters:

fps_ – Frame rate in frames per second.

Returns:

Equivalent frame period in microseconds.

static inline uint64_t from_s(double seconds_)

Static conversion functions: from seconds

Parameters:

seconds_ – Duration value in seconds.

Returns:

Equivalent duration in microseconds.

Public Static Attributes

static constexpr uint64_t UNSET = std::numeric_limits<uint64_t>::max()

Constant representing an unset duration It can be used as a sentinel for invalid duration values.

Private Members

uint64_t microseconds

Stored duration in microseconds.

Friends

inline friend std::ostream &operator<<(std::ostream &os_, const duration_t &dt_)

Operator<<

Parameters:
  • os_ – Output stream receiving the formatted duration.

  • dt_ – Duration value to print.

Returns:

Reference to os_ for stream chaining.