is_clock
is_clock (시계 트레이트)
타입이 Clock 요구사항을 만족하는지 판정하는 트레이트예요. <chrono> 헤더, C++20부터.
출처: cppreference
본문
std::chrono::is_clock<T>는 T가 Clock 요구사항을 만족하는지 나타내는 트레이트예요.
template< class T >
struct is_clock;
T가 Clock 요구사항을 만족하면value가true, 아니면false.- 구현이 어느 정도까지 만족 여부를 판정하는지는 트레이트마다 다를 수 있어요.
static_assert(std::chrono::is_clock_v<std::chrono::system_clock>); // true
static_assert(std::chrono::is_clock_v<std::chrono::steady_clock>); // true
Clock 요구사항은 now(), time_point, duration, rep, period 등을 갖추는 것을 요구해요. 표준 시계(system_clock, steady_clock, high_resolution_clock, utc_clock, tai_clock, gps_clock, file_clock 등)는 모두 만족해요. 사용자 정의 시계가 요구사항을 갖췄는지 컴파일 타임에 검사할 때 쓰는 트레이트예요.