Структура 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 . |
Замечания
Часы имеют функцию , , duration
is_steady
period
time_point
, а now()
также rep
функцию.
Дополнительные сведения о требованиях, которые должны быть часами C++17, см. в разделе о требованиях Cpp17Clock.
Следующий код работает, так как is_clock
является производным от Cpp17UnaryTypeTrait
, который является производным от integral_constant
. Вот откудаvalue_type
, bool
type
а именно— и , из которого 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
.