std:: owner_equal
|
Défini dans l'en-tête
<memory>
|
||
|
struct
owner_equal
;
|
(depuis C++26) | |
Ce foncteur fournit une comparaison d'égalité de type mixte basée sur la propriété (par opposition à une comparaison basée sur la valeur) pour
std::weak_ptr
et
std::shared_ptr
. La comparaison est telle que deux pointeurs intelligents sont équivalents seulement s'ils sont tous deux vides ou s'ils partagent la propriété, même si les valeurs des pointeurs bruts obtenus par
get()
sont différentes (par exemple parce qu'ils pointent vers différents sous-objets au sein du même objet).
std::owner_equal
déduit les types de paramètres à partir des arguments.
Table des matières |
Types imbriqués
| Type imbriqué | Définition |
is_transparent
|
unspecified |
Fonctions membres
|
operator()
|
compare ses arguments en utilisant une sémantique basée sur le propriétaire
(fonction) |
std::owner_equal:: operator()
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
shared_ptr
<
T
>
&
lhs,
|
(depuis C++26) | |
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
shared_ptr
<
T
>
&
lhs,
|
(depuis C++26) | |
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
weak_ptr
<
T
>
&
lhs,
|
(depuis C++26) | |
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
weak_ptr
<
T
>
&
lhs,
|
(depuis C++26) | |
Compare lhs et rhs en utilisant la sémantique basée sur le propriétaire. Appelle effectivement lhs. owner_equal ( rhs ) .
La comparaison d'égalité est une relation d'équivalence.
lhs et rhs sont équivalents seulement s'ils sont tous deux vides ou partagent la propriété.
Paramètres
| lhs, rhs | - | pointeurs à propriété partagée à comparer |
Valeur de retour
true si lhs et rhs sont tous deux vides ou partagent la propriété selon la comparaison d'égalité basée sur le propriétaire, false sinon.
Notes
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_smart_ptr_owner_equality
|
202306L
|
(C++26) |
Permettre l'utilisation de
std::shared_ptr
et
std::weak_ptr
comme clés dans les
conteneurs associatifs non ordonnés
|
Voir aussi
|
(C++26)
|
fournit une comparaison d'égalité basée sur le propriétaire des pointeurs partagés
(fonction membre publique de
std::shared_ptr<T>
)
|
|
(C++26)
|
fournit une comparaison d'égalité basée sur le propriétaire des pointeurs faibles
(fonction membre publique de
std::weak_ptr<T>
)
|