[#mp_units-operator_3way-06f] = xref:mp_units.adoc[mp_units]::operator<=> :relfileprefix: ../ :mrdocs: 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) [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- [[nodiscard]] constexpr auto xref:mp_units/operator_3way-014.adoc[operator<=>]( xref:mp_units/quantity_character.adoc[quantity_character] lhs, xref:mp_units/quantity_character.adoc[quantity_character] rhs) = default; ---- [.small]#xref:mp_units/operator_3way-014.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename CharT, std::size_t N, std::size_t N2> [[nodiscard]] constexpr auto xref:mp_units/operator_3way-0e.adoc[operator<=>]( xref:mp_units/basic_fixed_string-08.adoc[basic_fixed_string<CharT, N>] const& lhs, xref:mp_units/basic_fixed_string-08.adoc[basic_fixed_string<CharT, N2>] const& rhs); ---- [.small]#xref:mp_units/operator_3way-0e.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename CharT, std::size_t N, std::size_t N2> [[nodiscard]] consteval auto xref:mp_units/operator_3way-0d.adoc[operator<=>]( xref:mp_units/basic_fixed_string-08.adoc[basic_fixed_string<CharT, N>] const& lhs, CharT const(& rhs)[]); ---- [.small]#xref:mp_units/operator_3way-0d.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< auto R1, typename Rep1> requires std::three_way_comparable<Rep1> && requires { representation_values<Rep1>::zero(); } [[nodiscard]] constexpr auto xref:mp_units/operator_3way-015.adoc[operator<=>]( xref:mp_units/quantity-01.adoc[quantity<R1, Rep1>] const& lhs, /* implementation-defined */ rhs); ---- [.small]#xref:mp_units/operator_3way-015.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- 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 xref:mp_units/operator_3way-04c.adoc[operator<=>]( xref:mp_units/quantity-01.adoc[quantity<R1, Rep1>] const& lhs, xref:mp_units/quantity-01.adoc[quantity<R2, Rep2>] const& rhs); ---- [.small]#xref:mp_units/operator_3way-04c.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< auto R1, typename Rep1, xref:mp_units/RepresentationOf.adoc[RepresentationOf<get_quantity_spec(R1)>] Value> requires ImplicitFromNumber<R1> && std::three_way_comparable_with<Rep1, Value> [[nodiscard]] constexpr auto xref:mp_units/operator_3way-08.adoc[operator<=>]( xref:mp_units/quantity-01.adoc[quantity<R1, Rep1>] const& lhs, Value const& rhs); ---- [.small]#xref:mp_units/operator_3way-08.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< auto R1, auto PO1, typename Rep1, xref:mp_units/QuantityPointOf.adoc[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 xref:mp_units/operator_3way-04d.adoc[operator<=>]( xref:mp_units/quantity_point-08.adoc[quantity_point<R1, PO1, Rep1>] const& lhs, QP2 const& rhs); ---- [.small]#xref:mp_units/operator_3way-04d.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< std::size_t N, std::size_t M, std::size_t N2> [[nodiscard]] consteval auto xref:mp_units/operator_3way-02.adoc[operator<=>]( xref:mp_units/symbol_text-032.adoc[symbol_text<N, M>] const& lhs, char const(& rhs)[]) requires requires { symbol_text<N, M>(rhs); }; ---- [.small]#xref:mp_units/operator_3way-02.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< std::size_t N, std::size_t M> [[nodiscard]] constexpr auto xref:mp_units/operator_3way-07.adoc[operator<=>]( xref:mp_units/symbol_text-032.adoc[symbol_text<N, M>] const& lhs, char rhs) noexcept requires requires { symbol_text<N, M>(rhs); }; ---- [.small]#xref:mp_units/operator_3way-07.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< std::size_t N, std::size_t M, std::size_t N2, std::size_t M2> [[nodiscard]] constexpr auto xref:mp_units/operator_3way-069.adoc[operator<=>]( xref:mp_units/symbol_text-032.adoc[symbol_text<N, M>] const& lhs, xref:mp_units/symbol_text-032.adoc[symbol_text<N2, M2>] const& rhs) noexcept; ---- [.small]#xref:mp_units/operator_3way-069.adoc[_» more..._]# == Return Value the lexicographic ordering of `lhs` and `rhs` [NOTE] ==== The return value https://en.cppreference.com/cpp/language/attributes/nodiscard[should not be discarded^]. ==== == Parameters [cols="1,4"] |=== | Name| Description | *lhs* | first quantity character to compare | *rhs* | second quantity character to compare |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#