<chrono>

 

For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

For the latest documentation on Visual Studio 2017, see <chrono> on docs.microsoft.com. Include the standard header <chrono> to define classes and functions that represent and manipulate time durations and time instants.

(Visual Studio 2015:) The implementation of steady_clock has changed to meet the C++ Standard requirements for steadiness and monotonicity. steady_clock is now based on QueryPerformanceCounter() and high_resolution_clock is now a typedef for steady_clock. As a result, in Visual C++ steady_clock::time_point is now a typedef for chrono::time_point<steady_clock>; however, this is not necessarily the case for other implementations.

#include <chrono>  

Literals

Literals in the <chrono> header are members of the literals::chrono_literals inline namespace. For more information, see chrono literals.

operator "" h(unsigned long long Val) operator "" h(long double Val)Specifies that the value represents hours.
operator "" min(unsigned long long Val) operator "" min(long double Val)Specifies that the value represents minutes.
operator "" s(unsigned long long Val)operator "" s(long double Val)Specifies that the value represents seconds.
operator "" ms(unsigned long long Val)operator "" ms(long double Val)Specifies that the value represents milliseconds.
operator "" us(unsigned long long Val)operator "" us(long double Val)Specifies that the value represents microseconds.
operator "" ns(unsigned long long Val)operator "" ns(long double Val)Specifies that the value represents nanoseconds.

Classes

NameDescription
duration ClassDescribes a type that holds a time interval.
time_point ClassDescribes a type that represents a point in time.

Structs

NameDescription
common_type StructureDescribes specializations of template class common_type for instantiations of duration and time_point.
duration_values StructureProvides specific values for the duration template parameter Rep.
steady_clock structRepresents a steady clock.
system_clock StructureRepresents a clock type that is based on the real-time clock of the system.
treat_as_floating_point StructureSpecifies whether a type can be treated as a floating-point type.

Functions

NameDescription
duration_cast FunctionCasts a duration object to a specified type.
time_point_cast FunctionCasts a time_point object to a specified type.

Operators

NameDescription
operator-Operator for subtraction or negation of duration and time_point objects.
operator!=Inequality operator that is used with duration or time_point objects.
operator moduloOperator for modulo operations on duration objects.
operator*Multiplication operator for duration objects.
operator/Division operator for duration objects.
operator+Adds duration and time_point objects.
operator<Determines whether one duration or time_point object is less than another duration or time_point object.
operator<=Determines whether one duration or time_point object is less than or equal to another duration or time_point object.
operator==Determines whether two duration objects represent time intervals that have the same length, or whether two time_point objects represent the same point in time.
operator>Determines whether one duration or time_point object is greater than another duration or time_point object.
operator>=Determines whether one duration or time_point object is greater than or equal to another duration or time_point object.

Predefined Duration Types

For more information about ratio types that are used in the following typedefs, see <ratio>.

TypedefDescription
typedef duration<long long, nano> nanoseconds;Synonym for a duration type that has a tick period of one nanosecond.
typedef duration<long long, micro> microseconds;Synonym for a duration type that has a tick period of one microsecond.
typedef duration<long long, milli> milliseconds;Synonym for a duration type that has a tick period of one millisecond.
typedef duration<long long> seconds;Synonym for a duration type that has a tick period of one second.
typedef duration<int, ratio<60> > minutes;Synonym for a duration type that has a tick period of one minute.
typedef duration<int, ratio<3600> > hours;Synonym for a duration type that has a tick period of one hour.

Literals

(C++11)The <chrono> header defines the following user-defined literals that you can use for greater convenience, type-safety and maintainability of your code. These literals are defined in the literals::chrono_literals inline namespace and are in scope when std::chrono is in scope.

LiteralDescription
chrono::hours operator "" h(unsigned long long Val)Specifies hours as an integral value.
chrono::duration<double, ratio<3600> > operator "" h(long double Val)Specifies hours as a floating-point value.
chrono::minutes (operator "" min)(unsigned long long Val)Specifies minutes as an integral value.
chrono::duration<double, ratio<60> > (operator "" min)( long double Val)Specifies minutes as a floating-point value.
chrono::seconds operator "" s(unsigned long long Val)Specifies minutes as an integral value.
chrono::duration<double> operator "" s(long double Val)Specifies seconds as a floating-point value.
chrono::milliseconds operator "" ms(unsigned long long Val)Specifies milliseconds as an integral value.
chrono::duration<double, milli> operator "" ms(long double Val)Specifies milliseconds as a floating-point value.
chrono::microseconds operator "" us(unsigned long long Val)Specifies microseconds as an integral value.
chrono::duration<double, micro> operator "" us(long double Val)Specifies microseconds as a floating-point value.
chrono::nanoseconds operator "" ns(unsigned long long Val)Specifies nanoseconds as an integral value.
chrono::duration<double, nano> operator "" ns(long double Val)Specifies nanoseconds as a floating-point value.

Header Files Reference

Show: