is_clock
-Struktur
Eine Typeigenschaft, die bestimmt, ob der angegebene Typ die Anforderungen für eine Uhr erfüllt.
Syntax
template<class T> struct is_clock; // C++20
Hilfsvariablenvorlage
template<class T> inline constexpr bool is_clock_v = is_clock<T>::value; // C++20
Parameter
T
Der zu testde Typ.
Mitglieder
Name | Beschreibung |
---|---|
value |
Gibt an, ob T die Anforderungen für eine Uhr erfüllt sind. |
operator () |
Gibt value zurück. |
operator bool |
Gibt value zurück. |
Hinweise
Eine Uhr hat eine rep
Funktion , period
, duration
, time_point
, is_steady
und eine now()
Funktion.
Weitere Informationen zu den Anforderungen für eine C++17-Uhr finden Sie unter Cpp17Clock-Anforderungen.
Der folgende Code funktioniert, da is_clock
, abgeleitet von Cpp17UnaryTypeTrait
, die von integral_constant
. Dies ist value_type
der Ort, der ein bool
, und type
, von dem ein std::integral_constant<bool, value>
kommt.
Beispiel
#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
Anforderungen
Header: <chrono>
Namespace:std::chrono
Compileroption: /std:c++latest
Value
Rufen Sie ab, ob der angegebene Typ die Anforderungen erfüllt, um eine Uhr zu sein.
static constexpr T value;
Rückgabewert
true
wenn der angegebene Typ die Anforderungen erfüllt, die eine Uhr sein sollen. Andernfalls false
.
operator()
constexpr value_type operator()() const noexcept
Gibt zurück value
, d. h., ob der angegebene Typ die Anforderungen erfüllt, um eine Uhr zu sein.
Rückgabewert
true
wenn der angegebene Typ die Anforderungen erfüllt, die eine Uhr sein sollen. Andernfalls false
.
operator bool
constexpr operator value_type() const noexcept
Gibt zurück value
, d. h., ob der angegebene Typ die Anforderungen erfüllt, um eine Uhr zu sein.
Rückgabewert
true
wenn der angegebene Typ die Anforderungen erfüllt, die eine Uhr sein sollen. Andernfalls false
.