Spec-Zone.ru › C++

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), с возможностью преобразования в polymorphic_allocator.
Эта функция не видна при обычном поиске без уточнения или уточненном поиске; найти её можно только с помощью поиска, зависящего от аргументов, если std::pmr::polymorphic_allocator является ассоциированным классом аргументов.
3) Возвращает !(lhs == rhs).
4) То же, что и (3), с возможностью преобразования в polymorphic_allocator.
Эта функция не видна при обычном поиске без уточнения или уточненном поиске; найти её можно только с помощью поиска, зависящего от аргументов, если std::pmr::polymorphic_allocator является ассоциированным классом аргументов.

Оператор != синтезируется из operator==.

(начиная с 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API