std::chrono::clock_cast
Определён в заголовке <chrono> | ||
|---|---|---|
template< class Dest, class Source, class Duration > auto clock_cast( const std::chrono::time_point<Source, Duration>& t ); | (начиная с C++20) |
Преобразует момент времени t часов Source в эквивалентный момент времени часов Dest, используя при необходимости std::chrono::system_clock и/или std::chrono::utc_clock в качестве промежуточных часов.
- Если выражение
std::chrono::clock_time_conversion<Dest, Source>{}(t)корректно, возвращает результат этого выражения. - В противном случае, если корректно хотя бы одно из следующих двух выражений, то
- Если корректны оба выражения, преобразование неоднозначно, и программа некорректна.
- В противном случае корректно ровно одно из двух выражений; возвращается результат этого выражения.
1)
std::chrono::clock_time_conversion<Dest, std::chrono::system_clock>{}( std::chrono::clock_time_conversion<std::chrono::system_clock, Source>{}(t))
2)
std::chrono::clock_time_conversion<Dest, std::chrono::utc_clock>{}( std::chrono::clock_time_conversion<std::chrono::utc_clock, Source>{}(t))
- В противном случае, если корректно хотя бы одно из следующих двух выражений, то
- Если корректны оба выражения, преобразование неоднозначно, и программа некорректна.
- В противном случае корректно ровно одно из двух выражений; возвращается результат этого выражения.
1)
std::chrono::clock_time_conversion<Dest, std::chrono::utc_clock>{}( std::chrono::clock_time_conversion<std::chrono::utc_clock, std::chrono::system_clock>{}( std::chrono::clock_time_conversion<std::chrono::system_clock, Source>{}(t)))
2)
std::chrono::clock_time_conversion<Dest, std::chrono::system_clock>{}( std::chrono::clock_time_conversion<std::chrono::system_clock, std::chrono::utc_clock>{}( std::chrono::clock_time_conversion<std::chrono::utc_clock, Source>{}(t)))
- В противном случае эта функция не участвует в разрешении перегрузки.
Возвращаемое значение
Результат преобразования, определённый описанным выше способом.
Пример
См. также
|
(C++20) | класс-характеристика, определяющий способ преобразования моментов времени одних часов в моменты времени других часов (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/clock_cast