[#beman-optional-operator_3way-0b] = xref:beman.adoc[beman]::xref:beman/optional.adoc[optional]::operator<=> :relfileprefix: ../../ :mrdocs: Three‐way comparison operators == Synopses Declared in `<beman/optional/optional.hpp>` Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, std::three_way_comparable_with<T> U> constexpr std::compare_three_way_result_t<T, U> xref:beman/optional/operator_3way-0a.adoc[operator<=>]( xref:beman/optional/optional-03.adoc[optional<T>] const& x, xref:beman/optional/optional-03.adoc[optional<U>] const& y); ---- [.small]#xref:beman/optional/operator_3way-0a.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class T> constexpr std::strong_ordering xref:beman/optional/operator_3way-02.adoc[operator<=>]( xref:beman/optional/optional-03.adoc[optional<T>] const& x, xref:beman/optional/nullopt_t.adoc[nullopt_t] rhs) noexcept; ---- [.small]#xref:beman/optional/operator_3way-02.adoc[_» more..._]# Three‐way comparison operator [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename U> requires (!is_derived_from_optional<U>) && std::three_way_comparable_with<T, U> constexpr std::compare_three_way_result_t<T, U> xref:beman/optional/operator_3way-09.adoc[operator<=>]( xref:beman/optional/optional-03.adoc[optional<T>] const& x, U const& v); ---- [.small]#xref:beman/optional/operator_3way-09.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#