Share via


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 valuezurück.
operator bool Gibt valuezurück.

Hinweise

Eine Uhr hat eine repFunktion , period, duration, time_point, is_steadyund 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_typeder 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.

Siehe auch

<chrono>
Headerdateienreferenz