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
は、integral_constant
から派生する Cpp17UnaryTypeTrait
から派生するため、次のコードは機能します。 ここは、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
。