std::pmr::operator==, std::pmr::operator!=
Определено в заголовочном файле <memory_resource> | ||
|---|---|---|
template< class T1, class T2 >
bool operator==( const std::pmr::polymorphic_allocator<T1>& lhs,
const std::pmr::polymorphic_allocator<T2>& rhs ) noexcept;
| (1) | (начиная с C++17) |
friend bool operator==( const polymorphic_allocator& lhs,
const polymorphic_allocator& rhs ) noexcept;
| (2) | (начиная с C++17) |
template< class T1, class T2 >
bool operator!=( const std::pmr::polymorphic_allocator<T1>& lhs,
const std::pmr::polymorphic_allocator<T2>& rhs ) noexcept;
| (3) | (начиная с C++17) (до C++20) |
friend bool operator!=( const polymorphic_allocator& lhs,
const polymorphic_allocator& rhs ) noexcept;
| (4) | (начиная с C++17) (до C++20) |
Сравнивает два полиморфных аллокатора. Два полиморфных аллокатора равны, если равны их базовые ресурсы памяти.
1) Возвращает
*lhs.resource() == *rhs.resource().
2) То же, что и (1), с возможностью преобразования в
Эта функция не видна при обычном поиске без уточнения или уточненном поиске; найти её можно только с помощью поиска, зависящего от аргументов, если std::pmr::polymorphic_allocator является ассоциированным классом аргументов.
polymorphic_allocator.Эта функция не видна при обычном поиске без уточнения или уточненном поиске; найти её можно только с помощью поиска, зависящего от аргументов, если std::pmr::polymorphic_allocator является ассоциированным классом аргументов.
3) Возвращает
!(lhs == rhs).
4) То же, что и (3), с возможностью преобразования в
Эта функция не видна при обычном поиске без уточнения или уточненном поиске; найти её можно только с помощью поиска, зависящего от аргументов, если std::pmr::polymorphic_allocator является ассоциированным классом аргументов.
polymorphic_allocator.Эта функция не видна при обычном поиске без уточнения или уточненном поиске; найти её можно только с помощью поиска, зависящего от аргументов, если std::pmr::polymorphic_allocator является ассоциированным классом аргументов.
| Оператор | (начиная с C++20) |
Параметры
| lhs, rhs | - | полиморфные аллокаторы для сравнения |
Возвращаемое значение
1,2)
*lhs.resource() == *rhs.resource()
3,4)
!(lhs == rhs)
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющих поведение, были применены задним числом к ранее опубликованным стандартам C++.
| DR | Применяется к | Опубликованное поведение | Исправленное поведение |
|---|---|---|---|
| LWG 3683 | C++17 |
polymorphic_allocator нельзя было сравнить с типами, преобразуемыми в него | добавлена перегрузка |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/memory/polymorphic_allocator/operator_eq