Spec-Zone.ru › C++

std::chrono::operator==,<=>(std::chrono::day)

Определён в заголовочном файле <chrono>
constexpr bool operator==( const std::chrono::day& x,
                           const std::chrono::day& y ) noexcept;
(1) (начиная с C++20)
constexpr std::strong_ordering operator<=>( const std::chrono::day& x,
                                            const std::chrono::day& y ) noexcept;
(2) (начиная с C++20)

Сравнивает два значения std::chrono::day x и y.

Операторы <, <=, >, >= и != синтезируются соответственно из operator<=> и operator==.

Возвращаемое значение

1) unsigned(x) == unsigned(y)
2) unsigned(x) <=> unsigned(y)

Пример

#include <chrono>
#include <iostream>

int main()
{
    constexpr std::chrono::day x{13}, y{31};
    static_assert(x != y);

    if constexpr (constexpr auto res = x <=> y; res < 0)
        std::cout << "x is less than y\n";
    else if constexpr (res > 0)
        std::cout << "x is greater than y\n";
    else
        std::cout << "x and y are equal\n";

    using namespace std::literals::chrono_literals;

    static_assert
    (
        (6d < 9d) && (6d == 6d) && (6d <= 9d) &&
        (9d > 6d) && (9d != 6d) && (9d >= 6d)
    );
}

Вывод:

x is less than y

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/day/operator_cmp

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API