operator==,!=,<,<=,>,>=,<=> (std::sub_match)
|
Определено в заголовке
<regex>
|
||
|
Прямое сравнение
|
||
|
template
<
class
BidirIt
>
bool
operator
==
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(1) | (начиная с C++11) |
|
template
<
class
BidirIt
>
bool
operator
!
=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(2) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(3) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(4) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(5) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(6) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
auto
operator
<=>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(7) | (начиная с C++20) |
|
Сравнение с
std::basic_string
|
||
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
==
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(8) | (начиная с C++11) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
!
=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(9) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
<
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(10) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
<=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(11) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(12) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
>=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(13) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
auto
operator
<=>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(14) | (начиная с C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
==
(
const
std::
basic_string
<
/*тип-значения-из*/
<
BidirIt
>
,
|
(15) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
!
=
(
const
std::
basic_string
<
/*тип-значения-из*/
<
BidirIt
>
,
|
(16) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
<
(
const
std::
basic_string
<
/*тип-значения-для*/
<
BidirIt
>
,
|
(17) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
<=
(
const
std::
basic_string
<
/*тип-значения-из*/
<
BidirIt
>
,
|
(18) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
>
(
const
std::
basic_string
<
/*тип-значения-из*/
<
BidirIt
>
,
|
(19) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt,
class
Traits,
class
Alloc
>
bool
operator
>=
(
const
std::
basic_string
<
/*тип-значения-для*/
<
BidirIt
>
,
|
(20) |
(начиная с C++11)
(до C++20) |
|
Сравнение со строкой в стиле C
|
||
|
template
<
class
BidirIt
>
bool
operator
==
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(21) | (начиная с C++11) |
|
template
<
class
BidirIt
>
bool
operator
!
=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(22) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(23) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(24) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(25) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(26) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
auto
operator
<=>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(27) | (начиная с C++20) |
|
template
<
class
BidirIt
>
bool
operator
==
(
const
/*value-type-of*/
<
BidirIt
>
*
s,
|
(28) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
!
=
(
const
/*тип-значения-для*/
<
BidirIt
>
*
s,
|
(29) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<
(
const
/*тип-значения-для*/
<
BidirIt
>
*
s,
|
(30) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<=
(
const
/*тип-значения-для*/
<
BidirIt
>
*
s,
|
(31) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>
(
const
/*value-type-of*/
<
BidirIt
>
*
s,
|
(32) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>=
(
const
/*тип-значения-для*/
<
BidirIt
>
*
s,
|
(33) |
(начиная с C++11)
(до C++20) |
|
Сравнение с одним символом
|
||
|
template
<
class
BidirIt
>
bool
operator
==
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(34) | (начиная с C++11) |
|
template
<
class
BidirIt
>
bool
operator
!
=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(35) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(36) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(37) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(38) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>=
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(39) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
auto
operator
<=>
(
const
std::
sub_match
<
BidirIt
>
&
lhs,
|
(40) | (начиная с C++20) |
|
template
<
class
BidirIt
>
bool
operator
==
(
const
/*тип-значения-для*/
<
BidirIt
>
&
ch,
|
(41) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
!
=
(
const
/*тип-значения-для*/
<
BidirIt
>
&
ch,
|
(42) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<
(
const
/*тип-значения-для*/
<
BidirIt
>
&
ch,
|
(43) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
<=
(
const
/*value-type-of*/
<
BidirIt
>
&
ch,
|
(44) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>
(
const
/*тип-значения-для*/
<
BidirIt
>
&
ch,
|
(45) |
(начиная с C++11)
(до C++20) |
|
template
<
class
BidirIt
>
bool
operator
>=
(
const
/*тип-значения-для*/
<
BidirIt
>
&
ch,
|
(46) |
(начиная с C++11)
(до C++20) |
|
Вспомогательные псевдонимы типов
|
||
|
template
<
class
BidirIt
>
using
/*тип-значения-для*/
=
|
(47) | ( только для демонстрации* ) |
|
template
<
class
BidirIt
>
using
/*cat-type-of*/
=
|
(48) |
(начиная с C++20)
( только для демонстрации* ) |
Сравнивает
sub_match
с другим
sub_match
, со
std::string
, с C-строкой или с одиночным символом.
sub_match
напрямую.
sub_match
со строкой в стиле C.
sub_match
с одиночным символом.
|
Операторы
|
(начиная с C++20) |
cat-type-of
<
BidirIt
>
является типом результата трёхстороннего сравнения
std::
sub_match
<
BidirIt
>
.
Содержание |
Параметры
| lhs, rhs | - |
a
sub_match
для сравнения
|
| str | - | a std::basic_string для сравнения |
| s | - | указатель на C-строку для сравнения |
| ch | - | символ для сравнения |
Возвращаемое значение
Пусть target принимает следующие значения:
Возвращаемые значения определяются следующим образом:
| Оператор | Возвращаемое значение | |
|---|---|---|
|
Перегрузки
(1-14,21-27,34-40)
(перегрузки с параметром lhs ) |
Перегрузки
(15-20,28-33,41-46)
(перегрузки без параметра 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
)
|
Н/П |
Примечания
Возвращаемый тип
operator
<=>
гарантированно является типом категории сравнения. Если
value-type-of
<
BidirIt
>
является
char
,
wchar_t
,
char8_t
,
char16_t
или
char32_t
, возвращаемый тип
operator<=>
будет
std::strong_ordering
.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение как опубликовано | Корректное поведение |
|---|---|---|---|
| LWG 2217 | C++11 |
для сравнений с
std::string
, аргумент
функции
compare()
был
str.
c_str
(
)
|
аргумент должен быть
string_type ( str. data ( ) , str. size ( ) ) ) |
Смотрите также
|
сравнивает соответствующую подпоследовательность (если есть)
(публичная функция-член) |