just::thread Complete C++ Standard Thread Library by Just Software Solutions

Documentation Home >> Headers >> <chrono> Header >> std::chrono::duration class template

The std::chrono::duration class template provides a facility for representing durations. The template parameters Rep and Period are the data type to store the duration value and an instantiation of the std::ratio class template indicating the length of time (as a fraction of a second) between successive "ticks", respectively. Thus std::chrono::duration<int,std::milli> is a count of milliseconds stored in a value of type int, whereas std::chrono::duration<short,std::ratio<1,50>> is a count of fiftieths of a second stored in a value of type short, and std::chrono::duration<long long,std::ratio<60,1>> is a count of minutes stored in a value of type long long.

template <class Rep, class Period=ratio<1> >
class duration
{
public:
    typedef Rep rep;
    typedef Period period;

    duration() = default;
    ~duration() = default;

    duration(const duration&) = default;
    duration& operator=(const duration&) = default;

    template <class Rep2>
    explicit duration(const Rep2& r);

    template <class Rep2, class Period2>
    duration(const duration<Rep2, Period2>& d);

    rep count() const;
    duration operator+() const;
    duration operator-() const;
    duration& operator++();
    duration operator++(int);
    duration& operator--();
    duration operator--(int);
    duration& operator+=(const duration& d);
    duration& operator-=(const duration& d);
    duration& operator*=(const rep& rhs);
    duration& operator/=(const rep& rhs);
    static constexpr duration zero();
    static constexpr duration min();
    static constexpr duration max();
};
Header

#include <chrono>

See Also