Estrutura is_clock
Uma característica de tipo que determina se o tipo especificado atende aos requisitos para ser um relógio.
Sintaxe
template<class T> struct is_clock; // C++20
Modelo de variável auxiliar
template<class T> inline constexpr bool is_clock_v = is_clock<T>::value; // C++20
Parâmetros
T
O tipo a ser testado.
Membros
Nome | Descrição |
---|---|
value |
Indica se T atende aos requisitos para ser um relógio. |
operator () |
Retorna value . |
operator bool |
Retorna value . |
Comentários
Um relógio tem rep
, period
, duration
, time_point
, is_steady
e uma função now()
.
Para obter mais detalhes sobre os requisitos para ser um relógio C++17, consulte os Requisitos de Cpp17Clock.
O código a seguir funciona porque is_clock
deriva de Cpp17UnaryTypeTrait
, que deriva de integral_constant
. Essa é a origem de value_type
, que é um bool
, e type
, que é um std::integral_constant<bool, value>
.
Exemplo
#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
Cabeçalho: <chrono>
Namespace: std::chrono
Opção do compilador: /std:c++latest
Value
Saiba se o tipo especificado atende aos requisitos para ser um relógio.
static constexpr T value;
Valor retornado
true
se o tipo especificado atender aos requisitos para ser um relógio. Caso contrário, false
.
operator()
constexpr value_type operator()() const noexcept
Retorna value
, ou seja, se o tipo especificado atende aos requisitos para ser um relógio.
Valor retornado
true
se o tipo especificado atender aos requisitos para ser um relógio. Caso contrário, false
.
operator bool
constexpr operator value_type() const noexcept
Retorna value
, ou seja, se o tipo especificado atende aos requisitos para ser um relógio.
Valor retornado
true
se o tipo especificado atender aos requisitos para ser um relógio. Caso contrário, false
.