mp_units::operator<=>

Compares two quantity characters lexicographically on (order, field)

Synopses

Declared in <mp-units/ext/fixed_string.h>

Compares two quantity characters lexicographically on (order, field)

[[nodiscard]]
constexpr
auto
operator<=>(
    quantity_character lhs,
    quantity_character rhs) = default;
» more...

Three-way comparison operator

template<
    typename CharT,
    std::size_t N,
    std::size_t N2>
[[nodiscard]]
constexpr
auto
operator<=>(
    basic_fixed_string<CharT, N> const& lhs,
    basic_fixed_string<CharT, N2> const& rhs);
» more...

Three-way comparison operator

template<
    typename CharT,
    std::size_t N,
    std::size_t N2>
[[nodiscard]]
consteval
auto
operator<=>(
    basic_fixed_string<CharT, N> const& lhs,
    CharT const(& rhs)[]);
» more...

Three-way comparison operator

template<
    auto R1,
    typename Rep1>
requires std::three_way_comparable<Rep1> && requires { representation_values<Rep1>::zero(); }
[[nodiscard]]
constexpr
auto
operator<=>(
    quantity<R1, Rep1> const& lhs,
    /* implementation-defined */ rhs);
» more...

Three-way comparison operator

template<
    auto R1,
    typename Rep1,
    auto R2,
    typename Rep2>
requires CommonlyComparableQuantities<quantity<R1, Rep1>, quantity<R2, Rep2>> &&
             std::three_way_comparable<typename std::common_type_t<quantity<R1, Rep1>, quantity<R2, Rep2>>::rep>
[[nodiscard]]
constexpr
auto
operator<=>(
    quantity<R1, Rep1> const& lhs,
    quantity<R2, Rep2> const& rhs);
» more...

Three-way comparison operator

template<
    auto R1,
    typename Rep1,
    RepresentationOf<get_quantity_spec(R1)> Value>
requires ImplicitFromNumber<R1> && std::three_way_comparable_with<Rep1, Value>
[[nodiscard]]
constexpr
auto
operator<=>(
    quantity<R1, Rep1> const& lhs,
    Value const& rhs);
» more...

Three-way comparison operator

template<
    auto R1,
    auto PO1,
    typename Rep1,
    QuantityPointOf<mp_units::detail::get_absolute_point_origin(PO1)> QP2>
requires std::three_way_comparable_with<quantity<R1, Rep1>, typename QP2::quantity_type>
[[nodiscard]]
constexpr
auto
operator<=>(
    quantity_point<R1, PO1, Rep1> const& lhs,
    QP2 const& rhs);
» more...

Three-way comparison operator

template<
    std::size_t N,
    std::size_t M,
    std::size_t N2>
[[nodiscard]]
consteval
auto
operator<=>(
    symbol_text<N, M> const& lhs,
    char const(& rhs)[])
requires requires { symbol_text<N, M>(rhs); };
» more...

Three-way comparison operator

template<
    std::size_t N,
    std::size_t M>
[[nodiscard]]
constexpr
auto
operator<=>(
    symbol_text<N, M> const& lhs,
    char rhs) noexcept
requires requires { symbol_text<N, M>(rhs); };
» more...

Three-way comparison operator

template<
    std::size_t N,
    std::size_t M,
    std::size_t N2,
    std::size_t M2>
[[nodiscard]]
constexpr
auto
operator<=>(
    symbol_text<N, M> const& lhs,
    symbol_text<N2, M2> const& rhs) noexcept;
» more...

Return Value

the lexicographic ordering of lhs and rhs

NOTE

The return value should not be discarded.

Parameters

NameDescription
lhsfirst quantity character to compare
rhssecond quantity character to compare