operator==,!=,<,<=,>,>=,<=>(std::sub_match) - cppreference.com
Direct comparison
template< class BidirIt > bool operator== ( const std::sub_match<BidirIt>& lhs, const std::sub_match<BidirIt>& rhs );
template< class BidirIt > bool operator!= ( const std::sub_match<BidirIt>& lhs, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator< ( const std::sub_match<BidirIt>& lhs, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator<= ( const std::sub_match<BidirIt>& lhs, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator> ( const std::sub_match<BidirIt>& lhs, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator>= ( const std::sub_match<BidirIt>& lhs, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > auto operator<=>( const std::sub_match<BidirIt>& lhs, const std::sub_match<BidirIt>& rhs );
Comparing with a std::basic_string
template< class BidirIt, class Traits, class Alloc > bool operator== ( const std::sub_match<BidirIt>& lhs, const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str );
template< class BidirIt, class Traits, class Alloc > bool operator!= ( const std::sub_match<BidirIt>& lhs, const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str );
(until C++20)
template< class BidirIt, class Traits, class Alloc > bool operator< ( const std::sub_match<BidirIt>& lhs, const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str );
(until C++20)
template< class BidirIt, class Traits, class Alloc > bool operator<= ( const std::sub_match<BidirIt>& lhs, const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str );
(until C++20)
template< class BidirIt, class Traits, class Alloc > bool operator> ( const std::sub_match<BidirIt>& lhs, const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str );
(until C++20)
template< class BidirIt, class Traits, class Alloc > bool operator>= ( const std::sub_match<BidirIt>& lhs, const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str );
(until C++20)
template< class BidirIt, class Traits, class Alloc > auto operator<=>( const std::sub_match<BidirIt>& lhs, const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str );
template< class BidirIt, class Traits, class Alloc > bool operator== ( const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt, class Traits, class Alloc > bool operator!= ( const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt, class Traits, class Alloc > bool operator< ( const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt, class Traits, class Alloc > bool operator<= ( const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt, class Traits, class Alloc > bool operator> ( const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt, class Traits, class Alloc > bool operator>= ( const std::basic_string</*value-type-of*/<BidirIt>, Traits, Alloc>& str, const std::sub_match<BidirIt>& rhs );
(until C++20)
Comparing with a C-style string
template< class BidirIt > bool operator== ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>* s );
template< class BidirIt > bool operator!= ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>* s );
(until C++20)
template< class BidirIt > bool operator< ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>* s );
(until C++20)
template< class BidirIt > bool operator<= ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>* s );
(until C++20)
template< class BidirIt > bool operator> ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>* s );
(until C++20)
template< class BidirIt > bool operator>= ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>* s );
(until C++20)
template< class BidirIt > auto operator<=>( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>* s );
template< class BidirIt > bool operator== ( const /*value-type-of*/<BidirIt>* s, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator!= ( const /*value-type-of*/<BidirIt>* s, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator< ( const /*value-type-of*/<BidirIt>* s, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator<= ( const /*value-type-of*/<BidirIt>* s, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator> ( const /*value-type-of*/<BidirIt>* s, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator>= ( const /*value-type-of*/<BidirIt>* s, const std::sub_match<BidirIt>& rhs );
(until C++20)
Comparing with a single character
template< class BidirIt > bool operator== ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>& ch );
template< class BidirIt > bool operator!= ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>& ch );
(until C++20)
template< class BidirIt > bool operator< ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>& ch );
(until C++20)
template< class BidirIt > bool operator<= ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>& ch );
(until C++20)
template< class BidirIt > bool operator> ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>& ch );
(until C++20)
template< class BidirIt > bool operator>= ( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>& ch );
(until C++20)
template< class BidirIt > auto operator<=>( const std::sub_match<BidirIt>& lhs, const /*value-type-of*/<BidirIt>& ch );
template< class BidirIt > bool operator== ( const /*value-type-of*/<BidirIt>& ch, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator!= ( const /*value-type-of*/<BidirIt>& ch, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator< ( const /*value-type-of*/<BidirIt>& ch, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator<= ( const /*value-type-of*/<BidirIt>& ch, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator> ( const /*value-type-of*/<BidirIt>& ch, const std::sub_match<BidirIt>& rhs );
(until C++20)
template< class BidirIt > bool operator>= ( const /*value-type-of*/<BidirIt>& ch, const std::sub_match<BidirIt>& rhs );
(until C++20)
Helper type aliases
template< class BidirIt > using /*value-type-of*/ = typename std::iterator_traits<BidirIt>::value_type;
template< class BidirIt > using /*cat-type-of*/ = std::compare_three_way_result_t <std::basic_string</*value-type-of*/<BidirIt>>>;
(exposition only*)
Compares a sub_match to another sub_match, a std::string, a C-style string or a single character.
1-7) Compares two sub_match directly.
8-20) Compares a sub_match with a std::basic_string.
21-33) Compares a sub_match with a C-style string.
34-46) Compares a sub_match with a single character.
48) cat-type-of <BidirIt> is the result type of three-way comparison of std::sub_match<BidirIt>.
The return type of operator<=> is guaranteed to be a comparison category type. If value-type-of <BidirIt> is char, wchar_t, char8_t, char16_t, or char32_t, the return type of operator<=> is std::strong_ordering.
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.