<chrono>
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 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. 
Name 
Description 

Describes specializations of template class common_type for instantiations of duration and time_point. 

Provides specific values for the duration template parameter Rep. 

Represents a steady clock. 

Represents a clock type that is based on the realtime clock of the system. 

Specifies whether a type can be treated as a floatingpoint type. 
Name 
Description 

Operator for subtraction or negation of duration and time_point objects. 

Inequality operator that is used with duration or time_point objects. 

Operator for modulo operations on duration objects. 

Multiplication operator for duration objects. 

Division operator for duration objects. 

Adds duration and time_point objects. 

Determines whether one duration or time_point object is less than another duration or time_point object. 

Determines whether one duration or time_point object is less than or equal to another duration or time_point object. 

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. 

Determines whether one duration or time_point object is greater than another duration or time_point object. 

Determines whether one duration or time_point object is greater than or equal to another duration or time_point object. 
For more information about ratio types that are used in the following typedefs, see <ratio>.
Typedef 
Description 

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. 
(C++11)The <chrono> header defines the following userdefined literals that you can use for greater convenience, typesafety 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.
Literal 
Description 

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 floatingpoint 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 floatingpoint 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 floatingpoint 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 floatingpoint 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 floatingpoint 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 floatingpoint value. 

