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 。 |
备注
时钟具有 rep
、period
duration
、time_point
、is_steady
和 now()
函数。
有关 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
。