std::weak_ptr<T>:: owner_equal
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
|
(C++26)
|
||||
|
weak_ptr::owner_equal
(C++26)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++20)
|
||||
| Deduction guides (C++17) |
|
template
<
class
Y
>
bool owner_equal ( const std:: weak_ptr < Y > & other ) const noexcept ; |
(1) | (depuis C++26) |
|
template
<
class
Y
>
bool owner_equal ( const std:: shared_ptr < Y > & other ) const noexcept ; |
(2) | (depuis C++26) |
Vérifie si ce
weak_ptr
et
other
partagent la propriété ou sont tous deux vides. La comparaison est telle que deux pointeurs intelligents sont équivalents seulement s'ils sont tous deux vides ou s'ils possèdent le même objet, même si les valeurs des pointeurs obtenues par
get()
sont différentes (par exemple parce qu'ils pointent vers différents sous-objets au sein du même objet).
La fonction membre
owner_equal
est une relation d'équivalence telle que
!
owner_before
(
other
)
&&
!
other.
owner_before
(
*
this
)
est
true
si et seulement si
owner_equal
(
other
)
est
true
.
Cet ordonnancement est utilisé pour permettre aux pointeurs partagés et faibles d'être utilisés comme clés dans les conteneurs associatifs non ordonnés, généralement via std::owner_equal .
Table des matières |
Paramètres
| autre | - | le std::shared_ptr ou std::weak_ptr à comparer |
Valeur de retour
true si * this et other partagent la propriété ou sont tous deux vides. Sinon, retourne false .
Notes
| Macro de test de fonctionnalité | Valeur | Norme | Fonctionnalité |
|---|---|---|---|
__cpp_lib_smart_ptr_owner_equality
|
202306L
|
(C++26) |
Permettre l'utilisation de
std::weak_ptr
comme clés dans les
conteneurs associatifs non ordonnés
|
Exemple
|
Cette section est incomplète
Raison : exemple |
Voir aussi
|
(C++26)
|
fournit des comparaisons d'égalité basées sur le propriétaire de types mixtes pour les pointeurs partagés et faibles
(classe) |