is_clock
(estructura)
Rasgo de tipo que determina si el tipo especificado cumple los requisitos para ser un reloj.
Sintaxis
template<class T> struct is_clock; // C++20
Plantilla de variable auxiliar
template<class T> inline constexpr bool is_clock_v = is_clock<T>::value; // C++20
Parámetros
T
Tipo que se va a probar.
Miembros
Nombre | Descripción |
---|---|
value |
Indica si T cumple los requisitos para ser un reloj. |
operator () |
Devuelve value . |
operator bool |
Devuelve value . |
Comentarios
Un reloj tiene una función rep
, period
, duration
, time_point
, is_steady
y now()
.
Para obtener más información sobre los requisitos para ser un reloj de C++17, consulte Requisitos de Cpp17Clock.
El código siguiente funciona porque is_clock
, se deriva de Cpp17UnaryTypeTrait
, que se deriva de integral_constant
. Aquí es donde value_type
, que es un bool
, y type
, del que procede std::integral_constant<bool, value>
.
Ejemplo
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
is_clock<system_clock> ic;
std::cout << std::boolalpha << ic.value << ", " << ic() << ", " << (bool)ic;
}
true, true, true
Requisitos
Encabezado: <chrono>
Espacio de nombres: std::chrono
Opción del compilador: /std:c++latest
Value
Obtenga si el tipo especificado cumple los requisitos para ser un reloj.
static constexpr T value;
Valor devuelto
true
si el tipo especificado cumple los requisitos para ser un reloj. En caso contrario, es false
.
operator()
constexpr value_type operator()() const noexcept
Devuelve value
, es decir, si el tipo especificado cumple los requisitos para ser un reloj.
Valor devuelto
true
si el tipo especificado cumple los requisitos para ser un reloj. En caso contrario, es false
.
operator bool
constexpr operator value_type() const noexcept
Devuelve value
, es decir, si el tipo especificado cumple los requisitos para ser un reloj.
Valor devuelto
true
si el tipo especificado cumple los requisitos para ser un reloj. En caso contrario, es false
.