operator==, <=> (std::reference_wrapper)
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Non-member functions | ||||
|
operator==
operator<=>
(C++26)
(C++26)
|
||||
| Deduction guides (C++17) | ||||
| Helper classes | ||||
|
friend
constexpr
bool
operator == ( reference_wrapper lhs, reference_wrapper rhs ) ; |
(1) | (начиная с C++26) |
|
friend
constexpr
bool
operator == ( reference_wrapper lhs, reference_wrapper < const T > rhs ) ; |
(2) | (начиная с C++26) |
|
friend
constexpr
bool
operator == ( reference_wrapper lhs, const T & ref ) ; |
(3) | (начиная с C++26) |
|
friend
constexpr
auto
operator <=> ( reference_wrapper lhs, reference_wrapper rhs ) ; |
(4) | (начиная с C++26) |
|
friend
constexpr
auto
operator <=> ( reference_wrapper lhs, reference_wrapper < const T > rhs ) ; |
(5) | (начиная с C++26) |
|
friend
constexpr
auto
operator <=> ( reference_wrapper lhs, const T & ref ) ; |
(6) | (начиная с C++26) |
Выполняет операции сравнения для объектов
reference_wrapper
.
reference_wrapper
. Объекты считаются равными тогда и только тогда, когда
lhs.
get
(
)
и
rhs.
get
(
)
равны.
- std:: is_const_v < T > равно false .
- Выражение lhs. get ( ) == rhs. get ( ) является корректным и его результат преобразуем к bool .
reference_wrapper
со ссылкой. Параметры считаются равными тогда и только тогда, когда
lhs.
get
(
)
равно
ref
.
- std:: is_const_v < T > имеет значение false .
- Выражение synth-three-way ( lhs. get ( ) , rhs. get ( ) ) является корректно сформированным.
Операторы
<
,
<=
,
>
,
>=
и
!=
синтезируются
соответственно
из
operator
<=>
и
operator
==
.
Содержание |
Параметры
| lhs, rhs | - |
reference_wrapper
объекты для сравнения
|
| ref | - |
ссылка для сравнения с объектом
reference_wrapper
|
Возвращаемое значение
Исключения
Выбрасывает, когда и что выбрасывает сравнение.
Примечания
Типы возвращаемых значений operator <=> выводятся из return выражений, чтобы избежать ошибки компиляции при инстанцировании std:: reference_wrapper < T > с synth-three-way-result <T> , который является некорректно сформированным.
| Макрос тестирования возможностей | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_reference_wrapper
|
202403L
|
(C++26) |
Сравнения для
std::reference_wrapper
|
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |