Пространства имён
Варианты
Действия

std::pmr::operator==, std::pmr::operator!=

Материал из cppreference.com
 
 
Динамическое управление памятью
no section name
Ограниченные алгоритмы неинициализированной памяти
no section name
Поддержка сбора мусора
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)



no section name
 
 
Определено в заголовочном файле <memory_resource>
template<class T1, class T2 >

bool operator==(conststd::pmr::polymorphic_allocator<T1>& lhs,

                 conststd::pmr::polymorphic_allocator<T2>& rhs )noexcept;
(1) (начиная с C++17)
friendbool operator==(const polymorphic_allocator& lhs,
                        const polymorphic_allocator& rhs )noexcept;
(2) (начиная с C++17)
template<class T1, class T2 >

bool operator!=(conststd::pmr::polymorphic_allocator<T1>& lhs,

                 conststd::pmr::polymorphic_allocator<T2>& rhs )noexcept;
(3) (начиная с C++17)
(до C++20)
friendbool 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++:

Номер Применён Поведение в стандарте Корректное поведение
LWG 3683 C++17 polymorphic_allocator не удавалось сравнить с конвертируемыми в него типами добавлена перегрузка
close