23 General utilities library [utilities]

23.17 Time utilities [time]

23.17.5 Class template duration [time.duration]

23.17.5.8 Suffixes for duration literals [time.duration.literals]

В этом разделе описаны буквальные суффиксы для построения литералов продолжительности. Суффиксы h, min, s, ms, us, ns обозначает значение длительности соответствующих типов hours, minutes, seconds, milliseconds, microseconds, и , nanoseconds соответственно , если они применяются к интегральным литералам.

Если любой из этих суффиксов применяется к литералу с плавающей запятой, результатом будет chrono​::​duration литерал с неопределенным представлением с плавающей запятой.

Если любой из этих суффиксов применяется к целочисленному литералу и результирующее chrono​::​duration значение не может быть представлено в типе результата из-за переполнения, программа имеет неправильный формат.

[ Example: В следующем коде показаны некоторые литералы продолжительности.

using namespace std::chrono_literals;
auto constexpr aday=24h;
auto constexpr lesson=45min;
auto constexpr halfanhour=0.5h;

end example]

constexpr chrono::hours operator""h(unsigned long long hours); constexpr chrono::duration<unspecified, ratio<3600, 1>> operator""h(long double hours);

Returns: duration Литерал hours часов.

constexpr chrono::minutes operator""min(unsigned long long minutes); constexpr chrono::duration<unspecified, ratio<60, 1>> operator""min(long double minutes);

Returns: duration Литерал minutes минут.

constexpr chrono::seconds operator""s(unsigned long long sec); constexpr chrono::duration<unspecified> operator""s(long double sec);

Returns: duration Литерал sec секунд.

[ Note: Используется тот же суффикс s , basic_­string но нет конфликта, поскольку суффиксы продолжительности применяются к числам, а суффиксы строковых литералов применяются к литералам символьных массивов. ] end note

constexpr chrono::milliseconds operator""ms(unsigned long long msec); constexpr chrono::duration<unspecified, milli> operator""ms(long double msec);

Returns: duration Буквальный , представляющая msec миллисекунды.

constexpr chrono::microseconds operator""us(unsigned long long usec); constexpr chrono::duration<unspecified, micro> operator""us(long double usec);

Returns: duration Буквальный , представляющие usec микросекунды.

constexpr chrono::nanoseconds operator""ns(unsigned long long nsec); constexpr chrono::duration<unspecified, nano> operator""ns(long double nsec);

Returns: duration Буквальный , представляющие nsec наносекунды.