Поделиться через


Структура is_clock

Признак типа, определяющий, соответствует ли указанный тип требованиям, которые должны быть часами.

Синтаксис

template<class T> struct is_clock; // C++20

Шаблон вспомогательной переменной

 template<class T> inline constexpr bool is_clock_v = is_clock<T>::value; // C++20

Параметры

T
Тип для тестирования.

Участники

Имя Описание
value Указывает, соответствует ли T требованиям часы.
operator () Возвращает value.
operator bool Возвращает value.

Замечания

Часы имеют функцию , , durationis_steadyperiodtime_point, а now() также repфункцию.

Дополнительные сведения о требованиях, которые должны быть часами C++17, см. в разделе о требованиях Cpp17Clock.

Следующий код работает, так как is_clockявляется производным от Cpp17UnaryTypeTrait, который является производным от integral_constant. Вот откудаvalue_type, booltypeа именно— и , из которого std::integral_constant<bool, value> происходит.

Пример

#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

Требования

Заголовок: <chrono>

Пространство имен: std::chrono

Параметр компилятора: /std:c++latest

Value

Получите, соответствует ли указанный тип требованиям часы.

static constexpr T value;

Возвращаемое значение

true Если указанный тип соответствует требованиям, которые должны быть часами. В противном случае — false.

operator()

constexpr value_type operator()() const noexcept

Возвращает value, то есть соответствует ли указанный тип требованиям, которые должны быть часами.

Возвращаемое значение

true Если указанный тип соответствует требованиям, которые должны быть часами. В противном случае — false.

operator bool

constexpr operator value_type() const noexcept

Возвращает value, то есть соответствует ли указанный тип требованиям, которые должны быть часами.

Возвращаемое значение

true Если указанный тип соответствует требованиям, которые должны быть часами. В противном случае — false.

См. также

<chrono>
Справочник по файлам заголовков