| title | chrono literals | Microsoft Docs | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ms.custom | ||||||||||||||
| ms.date | 11/04/2016 | |||||||||||||
| ms.reviewer | ||||||||||||||
| ms.suite | ||||||||||||||
| ms.technology |
|
|||||||||||||
| ms.tgt_pltfrm | ||||||||||||||
| ms.topic | article | |||||||||||||
| dev_langs |
|
|||||||||||||
| ms.assetid | 1a9e23b1-256f-4570-8226-5fa7364fb032 | |||||||||||||
| caps.latest.revision | 10 | |||||||||||||
| author | corob-msft | |||||||||||||
| ms.author | corob | |||||||||||||
| manager | ghogen | |||||||||||||
| translation.priority.mt |
|
(C++14) The <chrono> header defines 12 user-defined literals to facilitate using literals that represent hours, minutes, seconds, milliseconds, microseconds, and nanoseconds. Each user-defined literal has an integral and a floating-point overload. The literals are defined in the literals::chrono_literals inline namespace which is brought into scope automatically when std::chrono is in scope.
inline namespace literals {
inline namespace chrono_literals {
// return integral hours
constexpr chrono::hours operator"" h(unsigned long long Val);
// return floating-point hours
constexpr chrono::duration<double, ratio<3600>> operator"" h(long double Val);
// return integral minutes
constexpr chrono::minutes(operator"" min)(unsigned long long Val);
// return floating-point minutes
constexpr chrono::duration<double, ratio<60>>(operator"" min)(long double Val);
// return integral seconds
constexpr chrono::seconds operator"" s(unsigned long long Val);
// return floating-point seconds
constexpr chrono::duration<double> operator"" s(long double Val);
// return integral milliseconds
constexpr chrono::milliseconds operator"" ms(unsigned long long Val);
// return floating-point milliseconds
constexpr chrono::duration<double, milli> operator"" ms(long double Val);
// return integral microseconds
constexpr chrono::microseconds operator"" us(unsigned long long Val);
// return floating-point microseconds
inline constexpr chrono::duration<double, micro> operator"" us(long double Val);
// return integral nanoseconds
inline constexpr chrono::nanoseconds operator"" ns(unsigned long long Val);
// return floating-point nanoseconds
constexpr chrono::duration<double, nano> operator"" ns(long double Val);
}// inline namespace chrono_literals
}// inline namespace literals
The literals that take a long long argument return a value or the corresponding type. The literals that take a floating point argument return a duration.
The following examples sow how to use the chrono literals.
constexpr auto day = 24h;
constexpr auto week = 24h* 7;
constexpr auto my_duration_unit = 108ms; Header: <chrono>
Namespace: std::literals::chrono_literals