[#bsl-operator_3way-0f1] = xref:bsl.adoc[bsl]::operator<=> :relfileprefix: ../ :mrdocs: Three‐way comparison operators == Synopses Declared in `<bslstl_deque.h>` Return the lexicographic three‐way comparison of `lhs` and `rhs`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class KEY, class COMPARATOR, class ALLOCATOR> xref:BloombergLP/bslalg/SynthThreeWayUtil/Result.adoc[BloombergLP::bslalg::SynthThreeWayUtil::Result<KEY>] xref:bsl/operator_3way-0ff.adoc[operator<=>]( xref:bsl/multiset-03.adoc[multiset<KEY, COMPARATOR, ALLOCATOR>] const& lhs, xref:bsl/multiset-03.adoc[multiset<KEY, COMPARATOR, ALLOCATOR>] const& rhs); ---- [.small]#xref:bsl/operator_3way-0ff.adoc[_» more..._]# Perform a lexicographic three‐way comparison of `lhs` and `rhs`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE, class ALLOCATOR> xref:BloombergLP/bslalg/SynthThreeWayUtil/Result.adoc[BloombergLP::bslalg::SynthThreeWayUtil::Result<VALUE>] xref:bsl/operator_3way-0f6.adoc[operator<=>]( xref:bsl/list-054.adoc[list<VALUE, ALLOCATOR>] const& lhs, xref:bsl/list-054.adoc[list<VALUE, ALLOCATOR>] const& rhs); ---- [.small]#xref:bsl/operator_3way-0f6.adoc[_» more..._]# Return the three‐way comparison result of `lhs` and `rhs`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE, three_way_comparable CONTAINER> compare_three_way_result_t<CONTAINER> xref:bsl/operator_3way-08d.adoc[operator<=>]( xref:bsl/queue-0a5.adoc[queue<VALUE, CONTAINER>] const& lhs, xref:bsl/queue-0a5.adoc[queue<VALUE, CONTAINER>] const& rhs); ---- [.small]#xref:bsl/operator_3way-08d.adoc[_» more..._]# Return the three‐way comparison of the specified queues; see the non‐member `operator<=>` in the `bsl` namespace. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- compare_three_way_result_t<CONTAINER2> xref:bsl/operator_3way-036.adoc[operator<=>]( xref:bsl/queue-0a5.adoc[queue<VALUE2, CONTAINER2>] const& lhs, xref:bsl/queue-0a5.adoc[queue<VALUE2, CONTAINER2>] const& rhs); ---- [.small]#xref:bsl/operator_3way-036.adoc[_» more..._]# Return the three‐way comparison result of `lhs` and `rhs`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class... t_ALTS> requires (std::three_way_comparable<t_ALTS> && ...) constexpr std::common_comparison_category_t<std::compare_three_way_result_t<t_ALTS>...> xref:bsl/operator_3way-09.adoc[operator<=>]( xref:bsl/variant.adoc[variant<t_ALTS...>] const& lhs, xref:bsl/variant.adoc[variant<t_ALTS...>] const& rhs); ---- [.small]#xref:bsl/operator_3way-09.adoc[_» more..._]# Return the three‐way comparison result of the specified `lhs` and `rhs` stacks by comparing their underlying containers. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE, three_way_comparable CONTAINER> compare_three_way_result_t<CONTAINER> xref:bsl/operator_3way-01d.adoc[operator<=>]( xref:bsl/stack-05.adoc[stack<VALUE, CONTAINER>] const& lhs, xref:bsl/stack-05.adoc[stack<VALUE, CONTAINER>] const& rhs); ---- [.small]#xref:bsl/operator_3way-01d.adoc[_» more..._]# Return the three‐way comparison of the specified stacks; see the non‐member `operator<=>` in the `bsl` namespace. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- compare_three_way_result_t<CONT> xref:bsl/operator_3way-03e.adoc[operator<=>]( xref:bsl/stack-05.adoc[stack<VAL, CONT>] const& lhs, xref:bsl/stack-05.adoc[stack<VAL, CONT>] const& rhs); ---- [.small]#xref:bsl/operator_3way-03e.adoc[_» more..._]# Perform a lexicographic three‐way comparison of `lhs` and `rhs`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE_TYPE, class ALLOCATOR> xref:BloombergLP/bslalg/SynthThreeWayUtil/Result.adoc[BloombergLP::bslalg::SynthThreeWayUtil::Result<VALUE_TYPE>] xref:bsl/operator_3way-07cc.adoc[operator<=>]( xref:bsl/deque-0c.adoc[deque<VALUE_TYPE, ALLOCATOR>] const& lhs, xref:bsl/deque-0c.adoc[deque<VALUE_TYPE, ALLOCATOR>] const& rhs); ---- [.small]#xref:bsl/operator_3way-07cc.adoc[_» more..._]# Perform a three‐way comparison of the operands. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_LHS, three_way_comparable_with<t_LHS> t_RHS> constexpr compare_three_way_result_t<t_LHS, t_RHS> xref:bsl/operator_3way-0a.adoc[operator<=>]( xref:bsl/optional-072.adoc[bsl::optional<t_LHS>] const& lhs, std::optional<t_RHS> const& rhs); ---- [.small]#xref:bsl/operator_3way-0a.adoc[_» more..._]# Perform a three‐way comparison of the operands. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> constexpr std::strong_ordering xref:bsl/operator_3way-0d1.adoc[operator<=>]( xref:bsl/optional-072.adoc[bsl::optional<t_TYPE>] const& value, xref:bsl/nullopt_t.adoc[bsl::nullopt_t] nullopt) noexcept; ---- [.small]#xref:bsl/operator_3way-0d1.adoc[_» more..._]# Perform a three‐way comparison of the operands. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_LHS, class t_RHS> requires (!BloombergLP::bslstl::Optional_DerivedFromOptional<t_RHS>) && three_way_comparable_with<t_LHS, t_RHS> constexpr compare_three_way_result_t<t_LHS, t_RHS> xref:bsl/operator_3way-070.adoc[operator<=>]( xref:bsl/optional-072.adoc[bsl::optional<t_LHS>] const& lhs, t_RHS const& rhs); ---- [.small]#xref:bsl/operator_3way-070.adoc[_» more..._]# Perform a three‐way comparison of the operands. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_LHS, three_way_comparable_with<t_LHS> t_RHS> constexpr compare_three_way_result_t<t_LHS, t_RHS> xref:bsl/operator_3way-00.adoc[operator<=>]( xref:bsl/optional-072.adoc[bsl::optional<t_LHS>] const& lhs, xref:bsl/optional-072.adoc[bsl::optional<t_RHS>] const& rhs); ---- [.small]#xref:bsl/operator_3way-00.adoc[_» more..._]# Compare the specified `lhs` and `rhs` pairs lexicographically. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class T1, class T2> constexpr std::common_comparison_category_t<BloombergLP::bslalg::SynthThreeWayUtil::Result<T1>, BloombergLP::bslalg::SynthThreeWayUtil::Result<T2>> xref:bsl/operator_3way-05.adoc[operator<=>]( xref:bsl/pair-0b.adoc[pair<T1, T2>] const& lhs, xref:bsl/pair-0b.adoc[pair<T1, T2>] const& rhs); ---- [.small]#xref:bsl/operator_3way-05.adoc[_» more..._]# Perform a lexicographic three‐way comparison of `lhs` and `rhs`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class KEY, class COMPARATOR, class ALLOCATOR> xref:BloombergLP/bslalg/SynthThreeWayUtil/Result.adoc[BloombergLP::bslalg::SynthThreeWayUtil::Result<KEY>] xref:bsl/operator_3way-0da.adoc[operator<=>]( xref:bsl/set-0d.adoc[set<KEY, COMPARATOR, ALLOCATOR>] const& lhs, xref:bsl/set-0d.adoc[set<KEY, COMPARATOR, ALLOCATOR>] const& rhs); ---- [.small]#xref:bsl/operator_3way-0da.adoc[_» more..._]# Perform a lexicographic three‐way comparison of `lhs` and `rhs`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class KEY, class VALUE, class COMPARATOR, class ALLOCATOR> xref:BloombergLP/bslalg/SynthThreeWayUtil/Result.adoc[BloombergLP::bslalg::SynthThreeWayUtil::Result<bsl::pair<KEY const, VALUE>>] xref:bsl/operator_3way-081.adoc[operator<=>]( xref:bsl/multimap-0ae.adoc[multimap<KEY, VALUE, COMPARATOR, ALLOCATOR>] const& lhs, xref:bsl/multimap-0ae.adoc[multimap<KEY, VALUE, COMPARATOR, ALLOCATOR>] const& rhs); ---- [.small]#xref:bsl/operator_3way-081.adoc[_» more..._]# Perform a lexicographic three‐way comparison of `lhs` and `rhs`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class KEY, class VALUE, class COMPARATOR, class ALLOCATOR> xref:BloombergLP/bslalg/SynthThreeWayUtil/Result.adoc[BloombergLP::bslalg::SynthThreeWayUtil::Result<bsl::pair<KEY const, VALUE>>] xref:bsl/operator_3way-044.adoc[operator<=>]( xref:bsl/map-0a7.adoc[map<KEY, VALUE, COMPARATOR, ALLOCATOR>] const& lhs, xref:bsl/map-0a7.adoc[map<KEY, VALUE, COMPARATOR, ALLOCATOR>] const& rhs); ---- [.small]#xref:bsl/operator_3way-044.adoc[_» more..._]# Perform a three‐way comparison of the specified `ptr` and null pointer by using the comparison operators of `TYPE *`; return the result of that comparison. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TYPE> std::strong_ordering xref:bsl/operator_3way-0412.adoc[operator<=>]( xref:bsl/shared_ptr-0a.adoc[shared_ptr<TYPE>] const& ptr, xref:bsl/nullptr_t-08.adoc[nullptr_t] nullPointerLiteral) noexcept; ---- [.small]#xref:bsl/operator_3way-0412.adoc[_» more..._]# Compare `lhs` and `rhs` three‐way by their stored pointers. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class LHS_TYPE, class RHS_TYPE> std::strong_ordering xref:bsl/operator_3way-086.adoc[operator<=>]( xref:bsl/shared_ptr-0a.adoc[shared_ptr<LHS_TYPE>] const& lhs, xref:bsl/shared_ptr-0a.adoc[shared_ptr<RHS_TYPE>] const& rhs) noexcept; ---- [.small]#xref:bsl/operator_3way-086.adoc[_» more..._]# Perform a lexicographic three‐way comparison of two strings. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class CHAR_TYPE, class CHAR_TRAITS, class ALLOC1, class ALLOC2> xref:bsl/String_ComparisonCategoryType.adoc[bsl::String_ComparisonCategoryType<CHAR_TRAITS>] xref:bsl/operator_3way-07c1.adoc[operator<=>]( xref:bsl/basic_string-0faf.adoc[bsl::basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOC1>] const& lhs, std::basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOC2> const& rhs) noexcept; ---- [.small]#xref:bsl/operator_3way-07c1.adoc[_» more..._]# Perform a lexicographic three‐way comparison of two strings. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class CHAR_TYPE, class CHAR_TRAITS, class ALLOC> xref:bsl/String_ComparisonCategoryType.adoc[bsl::String_ComparisonCategoryType<CHAR_TRAITS>] xref:bsl/operator_3way-0d7.adoc[operator<=>]( xref:bsl/basic_string-0faf.adoc[basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOC>] const& lhs, CHAR_TYPE const* rhs); ---- [.small]#xref:bsl/operator_3way-0d7.adoc[_» more..._]# Perform a lexicographic three‐way comparison of two strings. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class CHAR_TYPE, class CHAR_TRAITS, class ALLOC> xref:bsl/String_ComparisonCategoryType.adoc[bsl::String_ComparisonCategoryType<CHAR_TRAITS>] xref:bsl/operator_3way-041c.adoc[operator<=>]( xref:bsl/basic_string-0faf.adoc[basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOC>] const& lhs, xref:bsl/basic_string-0faf.adoc[basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOC>] const& rhs) noexcept; ---- [.small]#xref:bsl/operator_3way-041c.adoc[_» more..._]# Perform a three‐way comparison of the specified `lhs` and `rhs` vectors and return the result of that comparison. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslalg/SynthThreeWayUtil/Result.adoc[BloombergLP::bslalg::SynthThreeWayUtil::Result<Impl>] xref:bsl/operator_3way-037.adoc[operator<=>]( xref:bsl/vector-086.adoc[vector] const& lhs, xref:bsl/vector-086.adoc[vector] const& rhs); ---- [.small]#xref:bsl/operator_3way-037.adoc[_» more..._]# Perform a three‐way comparison of the operands. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE_TYPE, class ALLOCATOR> xref:BloombergLP/bslalg/SynthThreeWayUtil/Result.adoc[BloombergLP::bslalg::SynthThreeWayUtil::Result<VALUE_TYPE>] xref:bsl/operator_3way-01c.adoc[operator<=>]( xref:bsl/vector-00d.adoc[vector<VALUE_TYPE, ALLOCATOR>] const& lhs, xref:bsl/vector-00d.adoc[vector<VALUE_TYPE, ALLOCATOR>] const& rhs); ---- [.small]#xref:bsl/operator_3way-01c.adoc[_» more..._]# == Return Value * three‐way comparison result of the two multisets * result of the three‐way comparison * three‐way comparison result of the queues * the three‐way comparison result of `lhs` and `rhs` * result of the lexicographic three‐way comparison * three‐way comparison result of `ptr` and a null pointer * three‐way comparison result of the stored pointers * ordering result of the lexicographic three‐way comparison == Parameters [cols="1,4"] |=== | Name| Description | *lhs* | left‐hand multiset to compare | *rhs* | right‐hand multiset to compare | *value* | value compared with or used to initialize the optional | *nullopt* | disengaged‐optional tag; value is unused | *ptr* | pointer to the object to manage or refer to | *nullPointerLiteral* | null‐pointer literal (unused; selects this overload) |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#