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)
Défini dans l'en-tête <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) (depuis C++17)
friend bool operator == ( const polymorphic_allocator & lhs,
const polymorphic_allocator & rhs ) noexcept ;
(2) (depuis 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) (depuis C++17)
(jusqu'à C++20)
friend bool operator ! = ( const polymorphic_allocator & lhs,
const polymorphic_allocator & rhs ) noexcept ;
(4) (depuis C++17)
(jusqu'à C++20)

Compare deux allocateurs polymorphes. Deux allocateurs polymorphes sont considérés comme égaux si leur ressource mémoire sous-jacente est égale.

1) Retourne * lhs. resource ( ) == * rhs. resource ( ) .
2) Identique à (1) , permettant la conversion vers polymorphic_allocator .
Cette fonction n'est pas visible par la recherche non qualifiée ou la recherche qualifiée ordinaire, et ne peut être trouvée que par la recherche dépendante des arguments lorsque std::pmr::polymorphic_allocator est une classe associée des arguments.
3) Retourne ! ( lhs == rhs ) .
4) Identique à (3) , en autorisant la conversion vers polymorphic_allocator .
Cette fonction n'est pas visible par la recherche non qualifiée ou la recherche qualifiée ordinaires, et ne peut être trouvée que par la recherche dépendante des arguments lorsque std::pmr::polymorphic_allocator est une classe associée des arguments.

L'opérateur != est synthétisé à partir de operator== .

(depuis C++20)

Paramètres

lhs, rhs - allocateurs polymorphes à comparer

Valeur de retour

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

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement correct
LWG 3683 C++17 polymorphic_allocator ne pouvait pas être comparé avec des types convertibles vers lui surcharge ajoutée