std::chrono::year_month_weekday_last 연산자

std::chrono::year_month_weekday_last 연산자 (operator== 등)

std::chrono::year_month_weekday_last 값을 비교하는 비교 연산자들이에요. 연·월·마지막 요일을 순서대로 비교해요. C++20부터 있어요.

출처: cppreference

본문

<chrono> 헤더에 정의돼 있고, year_month_weekday_last용 비교 연산자예요.

constexpr bool operator==( const std::chrono::year_month_weekday_last& x,
                           const std::chrono::year_month_weekday_last& y ) noexcept;   // (1)

constexpr std::strong_ordering
    operator<=>( const std::chrono::year_month_weekday_last& x,
                 const std::chrono::year_month_weekday_last& y ) noexcept;             // (2)

두 값을 사전식으로 비교해요. 먼저 year(), 그다음 month(), 그다음 weekday_last()(마지막 요일) 순서예요.

<, <=, >, >=, != 연산자는 각각 operator<=>operator==로부터 합성돼요.

  • 반환 값:
    • (1) x.year() == y.year() && x.month() == y.month() && x.weekday() == y.weekday()
    • (2) 사전식 비교 결과.

예제를 보면요.

#include <chrono>

int main()
{
    using namespace std::chrono;
    constexpr auto a{year_month_weekday_last{2023y/September/Friday[last]}};
    constexpr auto b{year_month_weekday_last{2023y/September/Friday[last]}};
    static_assert(a == b);
}

더 알아보기 (Learn more)

cppreference