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

备注

时钟具有 repperioddurationtime_pointis_steadynow() 函数。

有关 C++17 时钟要求的更多详细信息,请参阅 Cpp17Clock 要求

以下代码可以正常运作,因为 is_clock 派生自 Cpp17UnaryTypeTrait,后者派生自 integral_constant。 其中 value_typebooltypestd::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>
头文件引用