operator==,!=,<,<=,>,>=,<=> (std::sub_match)
Defined in header
<regex>
|
||
Direct comparison
|
||
template
<
class
BidirIt
>
bool
operator
==
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(1) | (since C++11) |
template
<
class
BidirIt
>
bool
operator
!
=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(2) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(3) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(4) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(5) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(6) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
auto
operator
<=>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(7) | (since C++20) |
Comparing with a
std::basic_string
|
||
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
==
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(8) | (since C++11) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
!
=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(9) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
<
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(10) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
<=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(11) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(12) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
>=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(13) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
auto
operator
<=>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(14) | (since C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
==
(
const
std::
basic_string
<
/*value-type-of*/
<
BidirIt
>
,
|
(15) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
!
=
(
const
std::
basic_string
<
/*value-type-of*/
<
BidirIt
>
,
|
(16) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
<
(
const
std::
basic_string
<
/*value-type-of*/
<
BidirIt
>
,
|
(17) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
<=
(
const
std::
basic_string
<
/*value-type-of*/
<
BidirIt
>
,
|
(18) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
>
(
const
std::
basic_string
<
/*value-type-of*/
<
BidirIt
>
,
|
(19) |
(since C++11)
(until C++20) |
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
>=
(
const
std::
basic_string
<
/*value-type-of*/
<
BidirIt
>
,
|
(20) |
(since C++11)
(until C++20) |
Comparing with a C-style string
|
||
template
<
class
BidirIt
>
bool
operator
==
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(21) | (since C++11) |
template
<
class
BidirIt
>
bool
operator
!
=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(22) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(23) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(24) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(25) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(26) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
auto
operator
<=>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(27) | (since C++20) |
template
<
class
BidirIt
>
bool
operator
==
(
const
/*value-type-of*/
<
BidirIt
>
*
s,
|
(28) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
!
=
(
const
/*value-type-of*/
<
BidirIt
>
*
s,
|
(29) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<
(
const
/*value-type-of*/
<
BidirIt
>
*
s,
|
(30) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<=
(
const
/*value-type-of*/
<
BidirIt
>
*
s,
|
(31) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>
(
const
/*value-type-of*/
<
BidirIt
>
*
s,
|
(32) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>=
(
const
/*value-type-of*/
<
BidirIt
>
*
s,
|
(33) |
(since C++11)
(until C++20) |
Comparing with a single character
|
||
template
<
class
BidirIt
>
bool
operator
==
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(34) | (since C++11) |
template
<
class
BidirIt
>
bool
operator
!
=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(35) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(36) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(37) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(38) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(39) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
auto
operator
<=>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(40) | (since C++20) |
template
<
class
BidirIt
>
bool
operator
==
(
const
/*value-type-of*/
<
BidirIt
>
&
ch,
|
(41) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
!
=
(
const
/*value-type-of*/
<
BidirIt
>
&
ch,
|
(42) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<
(
const
/*value-type-of*/
<
BidirIt
>
&
ch,
|
(43) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
<=
(
const
/*value-type-of*/
<
BidirIt
>
&
ch,
|
(44) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>
(
const
/*value-type-of*/
<
BidirIt
>
&
ch,
|
(45) |
(since C++11)
(until C++20) |
template
<
class
BidirIt
>
bool
operator
>=
(
const
/*value-type-of*/
<
BidirIt
>
&
ch,
|
(46) |
(since C++11)
(until C++20) |
Helper type aliases
|
||
template
<
class
BidirIt
>
using
/*value-type-of*/
=
|
(47) | ( exposition only* ) |
template
<
class
BidirIt
>
using
/*cat-type-of*/
=
|
(48) |
(since C++20)
( exposition only* ) |
Compares a
sub_match
to another
sub_match
, a
std::string
, a C-style string or a single character.
sub_match
directly.
sub_match
with a C-style string.
sub_match
with a single character.
The
|
(since C++20) |
cat-type-of
<
BidirIt
>
is the result type of three-way comparison of
std::
sub_match
<
BidirIt
>
.
Parameters
lhs, rhs | - |
a
sub_match
to compare
|
str | - | a std::basic_string to compare |
s | - | a pointer to a C-style string to compare |
ch | - | a character to compare |
Return value
Let target be the following values:
The return values are defined as follows:
Operator | Return value | |
---|---|---|
Overloads
(1-14,21-27,34-40)
(overloads with parameter lhs ) |
Overloads
(15-20,28-33,41-46)
(overloads without parameter lhs ) |
|
==
|
lhs. compare ( target ) == 0 | rhs. compare ( target ) == 0 |
!=
|
lhs. compare ( target ) ! = 0 | rhs. compare ( target ) ! = 0 |
<
|
lhs. compare ( target ) < 0 | rhs. compare ( target ) > 0 |
<=
|
lhs. compare ( target ) <= 0 | rhs. compare ( target ) >= 0 |
>
|
lhs. compare ( target ) > 0 | rhs. compare ( target ) < 0 |
>=
|
lhs. compare ( target ) >= 0 | rhs. compare ( target ) <= 0 |
<=>
|
static_cast
<
cat-type-of
<
BidirIt
>>
(
lhs.
compare
(
target
)
<=>
0
)
|
N/A |
Notes
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
.
Example
This section is incomplete
Reason: no example |
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 2217 | C++11 |
for comparisons with
std::string
, the
argument of
compare()
was
str.
c_str
(
)
|
the argument is
string_type ( str. data ( ) , str. size ( ) ) ) |
See also
compares matched subsequence (if any)
(public member function) |