stim::duration struct

A simple duration type.

Constructors, destructors, conversion operators

duration() defaulted noexcept
Default constructor. Does not initialize the value.
duration(const duration&) defaulted constexpr noexcept
Copy constructor.
operator bool() const explicit constexpr noexcept
Returns true if this duration represents a non-zero value.

Public functions

auto operator=(const duration&) -> duration& defaulted noexcept
Copy-assignment operator.

Public variables

long long nanoseconds
The nanoseconds represented by this duration.

From nanoseconds (integers)

duration(unsigned long long nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.
duration(unsigned long nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.
duration(unsigned int nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.
duration(unsigned short nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.
duration(unsigned char nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.
duration(long long nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.
duration(long nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.
duration(int nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.
duration(short nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.
duration(signed char nanosec) constexpr noexcept
Constructs a duration from integer nanoseconds.

From seconds (floats)

duration(long double sec) constexpr noexcept
Constructs a duration from floating-point seconds.
duration(double sec) constexpr noexcept
Constructs a duration from floating-point seconds.
duration(float sec) constexpr noexcept
Constructs a duration from floating-point seconds.

From std::chrono

template<typename Rep, typename Period>
duration(const std::chrono::duration<Rep, Period>& dur) constexpr noexcept
Constructs a duration from a std::chrono::duration value.

Friends

auto operator!=(duration lhs, duration rhs) -> bool noexcept
Returns true if two durations do not have the same value.
auto operator==(duration lhs, duration rhs) -> bool noexcept
Returns true if two durations have the same value.

Function documentation

template<typename Rep, typename Period>
stim::duration::duration(const std::chrono::duration<Rep, Period>& dur) constexpr noexcept

Constructs a duration from a std::chrono::duration value.

duration operator""_ms(unsigned long long ms) constexpr noexcept

Creates a stim::duration representing milliseconds.

using namespace stim::literals;

constexpr stim::duration one_millisec = 1_ms;

duration operator""_ms(long double ms) constexpr noexcept

Creates a stim::duration representing milliseconds.

using namespace stim::literals;

constexpr stim::duration pi_millisec = 3.14_ms;

duration operator""_ns(unsigned long long ns) constexpr noexcept

Creates a stim::duration representing nanoseconds.

using namespace stim::literals;

constexpr stim::duration one_nanosec = 1_ns;

duration operator""_ns(long double ns) constexpr noexcept

Creates a stim::duration representing nanoseconds.

using namespace stim::literals;

constexpr stim::duration pi_nanosec = 3.14_ns;

duration operator""_s(unsigned long long s) constexpr noexcept

Creates a stim::duration representing seconds.

using namespace stim::literals;

constexpr stim::duration one_sec = 1_s;

duration operator""_s(long double s) constexpr noexcept

Creates a stim::duration representing seconds.

using namespace stim::literals;

constexpr stim::duration pi_sec = 3.14_s;

duration operator""_us(unsigned long long us) constexpr noexcept

Creates a stim::duration representing microseconds.

using namespace stim::literals;

constexpr stim::duration one_microsec = 1_us;

duration operator""_us(long double us) constexpr noexcept

Creates a stim::duration representing microseconds.

using namespace stim::literals;

constexpr stim::duration pi_microsec = 3.14_us;