std::chrono:: clock_time_conversion
|
Определено в заголовочном файле
<chrono>
|
||
|
template
<
class
Dest,
class
Source
>
struct clock_time_conversion { } ; |
(начиная с C++20) | |
std::chrono::clock_time_conversion
— это характеристика, которая определяет, как преобразовать
std::chrono::time_point
часов
Source
в
time_point
часов
Dest
. Это достигается путём предоставления константно вызываемого
operator()
, который принимает аргумент типа
std::
chrono
::
time_point
<
Source, Duration
>
и возвращает
std::
chrono
::
time_point
<
Dest, OtherDuration
>
, представляющий эквивалентный момент времени. Длительность возвращаемого временного интервала вычисляется из исходной длительности способом, который варьируется для каждой специализации.
clock_time_conversion
обычно используется только косвенно, через
std::chrono::clock_cast
.
Программа может специализировать
clock_time_conversion
если по крайней мере один из параметров шаблона является пользовательским типом часов.
Основной шаблон представляет собой пустую структуру. Стандарт определяет следующие специализации:
|
template
<
class
Clock
>
struct clock_time_conversion < Clock, Clock > ; |
(1) | (начиная с C++20) |
|
template
<>
struct clock_time_conversion < std:: chrono :: system_clock , std:: chrono :: system_clock > ; |
(2) | (начиная с C++20) |
|
template
<>
struct clock_time_conversion < std:: chrono :: utc_clock , std:: chrono :: utc_clock > ; |
(3) | (начиная с C++20) |
|
template
<>
struct clock_time_conversion < std:: chrono :: system_clock , std:: chrono :: utc_clock > ; |
(4) | (начиная с C++20) |
|
template
<>
struct clock_time_conversion < std:: chrono :: utc_clock , std:: chrono :: system_clock > ; |
(5) | (начиная с C++20) |
|
template
<
class
Clock
>
struct clock_time_conversion < Clock, std:: chrono :: system_clock > ; |
(6) | (начиная с C++20) |
|
template
<
class
Clock
>
struct clock_time_conversion < std:: chrono :: system_clock , Clock > ; |
(7) | (начиная с C++20) |
|
template
<
class
Clock
>
struct clock_time_conversion < Clock, std:: chrono :: utc_clock > ; |
(8) | (начиная с C++20) |
|
template
<
class
Clock
>
struct clock_time_conversion < std:: chrono :: utc_clock , Clock > ; |
(9) | (начиная с C++20) |
operator()
возвращает копию аргумента.
operator()
вызывает
std::chrono::utc_clock::to_sys
и
std::chrono::utc_clock::from_sys
соответственно.
Clock
поддерживает
from_sys
и
to_sys
:
operator()
вызывает
Clock
::
to_sys
и
Clock
::
from_sys
соответственно.
Clock
поддерживает
from_utc
и
to_utc
:
operator()
вызывает
Clock
::
to_utc
и
Clock
::
from_utc
соответственно.
Содержание |
Функции-члены
Каждая специализация имеет неявно объявленный конструктор по умолчанию, конструктор копирования, конструктор перемещения, оператор копирующего присваивания, оператор перемещающего присваивания и деструктор.
std::chrono::clock_time_conversion:: operator()
|
template
<
class
Duration
>
std::
chrono
::
time_point
<
Clock, Duration
>
|
(1) | (член специализации (1) ) |
|
template
<
class
Duration
>
std::
chrono
::
sys_time
<
Duration
>
|
(2) | (член специализации (2) ) |
|
template
<
class
Duration
>
std::
chrono
::
utc_time
<
Duration
>
|
(3) | (член специализации (3) ) |
|
template
<
class
Duration
>
std::
chrono
::
sys_time
<
Duration
>
|
(4) | (член специализации (4) ) |
|
template
<
class
Duration
>
std::
chrono
::
utc_time
<
Duration
>
|
(5) | (член специализации (5) ) |
|
template
<
class
Duration
>
auto
operator
(
)
(
const
std::
chrono
::
sys_time
<
Duration
>
&
t
)
const
|
(6) | (член специализации (6) ) |
|
template
<
class
Duration
>
auto
operator
(
)
(
const
std::
chrono
::
time_point
<
SourceClock, Duration
>
&
t
)
const
|
(7) | (член специализации (7) ) |
|
template
<
class
Duration
>
auto
operator
(
)
(
const
std::
chrono
::
utc_time
<
Duration
>
&
t
)
const
|
(8) | (член специализации (8) ) |
|
template
<
class
Duration
>
auto
operator
(
)
(
const
std::
chrono
::
time_point
<
Clock, Duration
>
&
t
)
const
|
(9) | (член специализации (9) ) |
Преобразует аргумент std::chrono::time_point в целевую систему отсчёта времени.
t
без изменений.
Duration
является некоторой допустимой специализацией
std::chrono::duration
.
Duration
является некоторой допустимой специализацией
std::chrono::duration
.
Duration
является некоторой допустимой специализацией
std::chrono::duration
.
Duration
является некоторой допустимой специализацией
std::chrono::duration
.
Параметры
| t | - | временная точка для преобразования |
Возвращаемое значение
Результат преобразования, как описано выше:
Смотрите также
|
(C++20)
|
преобразует временные точки одного часового механизма в другой
(шаблон функции) |