Namespaces
Variants

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

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
Определено в заголовочном файле <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== .

(since C++20)

Параметры

lhs, rhs - полиморфные аллокаторы для сравнения

Возвращаемое значение

1,2) * lhs. resource ( ) == * rhs. resource ( )
3,4) ! ( lhs == rhs )

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
LWG 3683 C++17 polymorphic_allocator could not be compared with types convertible to it overload added