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) | (seit C++26) |
|
template
<
class
Y
>
bool owner_equal ( const std:: shared_ptr < Y > & other ) const noexcept ; |
(2) | (seit C++26) |
Prüft, ob dieser
weak_ptr
und
other
gemeinsamen Besitz teilen oder beide leer sind. Der Vergleich erfolgt so, dass zwei Smart Pointer nur dann als äquivalent betrachtet werden, wenn sie beide leer sind oder wenn sie beide dasselbe Objekt besitzen, selbst wenn die Werte der durch
get()
erhaltenen Zeiger unterschiedlich sind (z.B. weil sie auf verschiedene Unterobjekte innerhalb desselben Objekts zeigen).
Die Memberfunktion
owner_equal
ist eine Äquivalenzrelation, bei der
!
owner_before
(
other
)
&&
!
other.
owner_before
(
*
this
)
genau dann
true
ist, wenn
owner_equal
(
other
)
true
ist.
Diese Ordnung wird verwendet, um Shared- und Weak-Pointer als Schlüssel in ungeordneten assoziativen Containern nutzbar zu machen, typischerweise durch std::owner_equal .
Inhaltsverzeichnis |
Parameter
| other | - | der std::shared_ptr oder std::weak_ptr der verglichen werden soll |
Rückgabewert
true wenn * this und other gemeinsamen Besitz teilen oder beide leer sind. Andernfalls wird false zurückgegeben.
Hinweise
| Feature-Test Makro | Wert | Standard | Funktion |
|---|---|---|---|
__cpp_lib_smart_ptr_owner_equality
|
202306L
|
(C++26) |
Ermöglicht die Verwendung von
std::weak_ptr
als Schlüssel in
ungeordneten assoziativen Containern
|
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Beispiel |
Siehe auch
|
(C++26)
|
bietet gemischte owner-basierte Gleichheitsvergleiche von shared und weak Pointern
(Klasse) |