Spec-Zone.ru › C++

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)))
  • В противном случае эта функция не участвует в разрешении перегрузки.

Возвращаемое значение

Результат преобразования, определённый описанным выше способом.

Пример

См. также

clock_time_conversion
(C++20)
класс-характеристика, определяющий способ преобразования моментов времени одних часов в моменты времени других часов
(шаблон класса)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/clock_cast

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API