std::pmr::operator==, std::pmr::operator!=
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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), с возможностью преобразования в
Эта функция не видна обычному неквалифицированному или квалифицированному поиску и может быть найдена только с помощью зависящего от аргумента поиска, когда
polymorphic_allocator.Эта функция не видна обычному неквалифицированному или квалифицированному поиску и может быть найдена только с помощью зависящего от аргумента поиска, когда
std::pmr::polymorphic_allocator является ассоциированным классом аргументом.
3) Возвращает
!(lhs == rhs).4) То же, что и (3), с возможностью преобразования в
Эта функция не видна обычному неквалифицированному или квалифицированному поиску и может быть найдена только с помощью зависящего от аргумента поиска, когда
polymorphic_allocator.Эта функция не видна обычному неквалифицированному или квалифицированному поиску и может быть найдена только с помощью зависящего от аргумента поиска, когда
std::pmr::polymorphic_allocator является ассоциированным классом аргументом.
|
Оператор |
(начиная с C++20) |
Параметры
| lhs, rhs | — | полиморфные аллокаторы для сравнения |
Возвращаемое значение
1,2)
*lhs.resource() == *rhs.resource()3,4)
!(lhs == rhs)Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| LWG 3683 | C++17 | polymorphic_allocator не удавалось сравнить с конвертируемыми в него типами
|
добавлена перегрузка |