名前空間
変種
操作

std::chrono::is_clock

提供: cppreference.com
< cpp‎ | chrono
 
 
 
日付と時間のユーティリティ
(C++11)
(C++11)
時計
is_clock
(C++20)
                                                  
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
カレンダー
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
タイムゾーン
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C スタイルの日付と時間
 
ヘッダ <chrono> で定義
template< class T >
struct is_clock;
(C++20以上)

TClock の要件を満たす場合、 true に等しいメンバ定数 value が提供されます。 他のあらゆる型に対して、 valuefalse です。

この特性の目的に対して、型が Clock の要件を満たさないと処理系が判断する範囲は未規定ですが、少なくとも以下の要件をすべて満たさなければ、 TClock とみなされません。

  • 修飾された識別子 T::repT::periodT::duration、および T::time_point がすべて有効であり、型を表す。
  • T::is_steady および T::now() がどちらも、未評価の被演算子として扱われたとき well-formed である。

is_clock に対する特殊化を追加した場合、プログラムの動作は未定義です。

目次

[編集] テンプレート引数

T - 調べる型

[編集] ヘルパー変数テンプレート

template< class T >
inline constexpr bool is_clock_v = is_clock<T>::value;
(C++20以上)

std::integral_constant から継承

メンバ定数

value
[静的]
TClock の要件を満たすならば true、そうでなければ false
(パブリック静的メンバ定数)

メンバ関数

operator bool
オブジェクトを bool に変換します。 value を返します
(パブリックメンバ関数)
operator()
(C++14)
value を返します
(パブリックメンバ関数)

メンバ型

定義
value_type bool
type std::integral_constant<bool, value>

[編集] 実装例

template<class>
struct is_clock : std::false_type {};
 
template<class T>
    requires
        requires {
            typename T::rep;
            typename T::period;
            typename T::duration;
            typename T::time_point;
            T::is_steady;
            T::now();
        }
struct is_clock<T> : std::true_type {};