Compartilhar via


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.

Confira também

<chrono>
Referência de Arquivos de Cabeçalho