std::chrono:: clock_time_conversion
|
Definido en el encabezado
<chrono>
|
||
|
template
<
class
Dest,
class
Source
>
struct clock_time_conversion { } ; |
(desde C++20) | |
std::chrono::clock_time_conversion
es un rasgo que especifica cómo convertir un
std::chrono::time_point
del reloj
Source
al del reloj
Dest
. Lo hace proporcionando un
operator()
invocable constante que acepta un argumento de tipo
std::
chrono
::
time_point
<
Source, Duration
>
y devuelve un
std::
chrono
::
time_point
<
Dest, OtherDuration
>
que representa un punto equivalente en el tiempo. La duración del tiempo devuelto se calcula a partir de la duración fuente de una manera que varía para cada especialización.
clock_time_conversion
normalmente solo se utiliza indirectamente, a través de
std::chrono::clock_cast
.
Un programa puede especializar
clock_time_conversion
si al menos uno de los parámetros de plantilla es un tipo de reloj definido por el usuario.
La plantilla principal es una estructura vacía. El estándar define las siguientes especializaciones:
|
template
<
class
Clock
>
struct clock_time_conversion < Clock, Clock > ; |
(1) | (desde C++20) |
|
template
<>
struct clock_time_conversion < std:: chrono :: system_clock , std:: chrono :: system_clock > ; |
(2) | (desde C++20) |
|
template
<>
struct clock_time_conversion < std:: chrono :: utc_clock , std:: chrono :: utc_clock > ; |
(3) | (desde C++20) |
|
template
<>
struct clock_time_conversion < std:: chrono :: system_clock , std:: chrono :: utc_clock > ; |
(4) | (desde C++20) |
|
template
<>
struct clock_time_conversion < std:: chrono :: utc_clock , std:: chrono :: system_clock > ; |
(5) | (desde C++20) |
|
template
<
class
Clock
>
struct clock_time_conversion < Clock, std:: chrono :: system_clock > ; |
(6) | (desde C++20) |
|
template
<
class
Clock
>
struct clock_time_conversion < std:: chrono :: system_clock , Clock > ; |
(7) | (desde C++20) |
|
template
<
class
Clock
>
struct clock_time_conversion < Clock, std:: chrono :: utc_clock > ; |
(8) | (desde C++20) |
|
template
<
class
Clock
>
struct clock_time_conversion < std:: chrono :: utc_clock , Clock > ; |
(9) | (desde C++20) |
operator()
devuelve una copia del argumento.
operator()
llama a
std::chrono::utc_clock::to_sys
y
std::chrono::utc_clock::from_sys
, respectivamente.
Clock
soporta
from_sys
y
to_sys
:
operator()
llama a
Clock
::
to_sys
y
Clock
::
from_sys
, respectivamente.
Clock
soporta
from_utc
y
to_utc
:
operator()
llama a
Clock
::
to_utc
y
Clock
::
from_utc
, respectivamente.
Contenidos |
Funciones miembro
Cada especialización tiene un constructor predeterminado declarado implícitamente, constructor de copia, constructor de movimiento, operador de asignación de copia, operador de asignación de movimiento y destructor.
std::chrono::clock_time_conversion:: operador()
|
template
<
class
Duration
>
std::
chrono
::
time_point
<
Clock, Duration
>
|
(1) | (miembro de la especialización (1) ) |
|
template
<
class
Duration
>
std::
chrono
::
sys_time
<
Duration
>
|
(2) | (miembro de especialización (2) ) |
|
template
<
class
Duration
>
std::
chrono
::
utc_time
<
Duration
>
|
(3) | (miembro de la especialización (3) ) |
|
template
<
class
Duration
>
std::
chrono
::
sys_time
<
Duration
>
|
(4) | (miembro de la especialización (4) ) |
|
template
<
class
Duration
>
std::
chrono
::
utc_time
<
Duration
>
|
(5) | (miembro de la especialización (5) ) |
|
template
<
class
Duration
>
auto
operator
(
)
(
const
std::
chrono
::
sys_time
<
Duration
>
&
t
)
const
|
(6) | (miembro de la especialización (6) ) |
|
template
<
class
Duration
>
auto
operator
(
)
(
const
std::
chrono
::
time_point
<
SourceClock, Duration
>
&
t
)
const
|
(7) | (miembro de la especialización (7) ) |
|
template
<
class
Duration
>
auto
operator
(
)
(
const
std::
chrono
::
utc_time
<
Duration
>
&
t
)
const
|
(8) | (miembro de la especialización (8) ) |
|
template
<
class
Duration
>
auto
operator
(
)
(
const
std::
chrono
::
time_point
<
Clock, Duration
>
&
t
)
const
|
(9) | (miembro de la especialización (9) ) |
Convierte el argumento std::chrono::time_point al reloj de destino.
t
sin cambios.
Duration
es alguna especialización válida de
std::chrono::duration
.
Duration
es alguna especialización válida de
std::chrono::duration
.
Duration
es alguna especialización válida de
std::chrono::duration
.
Duration
es alguna especialización válida de
std::chrono::duration
.
Parámetros
| t | - | punto temporal a convertir |
Valor de retorno
El resultado de la conversión como se describió anteriormente:
Véase también
|
(C++20)
|
convertir puntos de tiempo de un reloj a otro
(plantilla de función) |