std:: owner_equal
|
Definiert im Header
<memory>
|
||
|
struct
owner_equal
;
|
(seit C++26) | |
Dieses Funktionsobjekt bietet eine besitzerbasierte (im Gegensatz zu wertbasierter) gemischttypige Gleichheitsprüfung für sowohl
std::weak_ptr
als auch
std::shared_ptr
. Der Vergleich erfolgt so, dass zwei Smart Pointer nur dann als äquivalent betrachtet werden, wenn sie beide leer sind oder wenn sie sich den Besitz teilen, selbst wenn die Werte der Rohzeiger, die durch
get()
erhalten werden, unterschiedlich sind (z.B. weil sie auf verschiedene Unterobjekte innerhalb desselben Objekts zeigen).
std::owner_equal
leitet die Parametertypen aus den Argumenten ab.
Inhaltsverzeichnis |
Verschachtelte Typen
| Geschachtelter Typ | Definition |
is_transparent
|
unspecified |
Memberfunktionen
|
operator()
|
vergleicht seine Argumente unter Verwendung besitzerbasierter Semantik
(Funktion) |
std::owner_equal:: operator()
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
shared_ptr
<
T
>
&
lhs,
|
(seit C++26) | |
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
shared_ptr
<
T
>
&
lhs,
|
(seit C++26) | |
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
weak_ptr
<
T
>
&
lhs,
|
(seit C++26) | |
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
weak_ptr
<
T
>
&
lhs,
|
(seit C++26) | |
Vergleicht lhs und rhs unter Verwendung von besitzerbasierter Semantik. Effektiv wird lhs. owner_equal ( rhs ) aufgerufen.
Der Gleichheitsvergleich ist eine Äquivalenzrelation.
lhs und rhs sind nur dann äquivalent, wenn sie beide leer sind oder Besitz teilen.
Parameter
| lhs, rhs | - | Shared-Ownership-Zeiger zum Vergleichen |
Rückgabewert
true wenn lhs und rhs beide leer sind oder Besitz teilen, wie durch den besitzbasierten Gleichheitsvergleich bestimmt, false andernfalls.
Hinweise
| Feature-Test Makro | Wert | Std | Funktion |
|---|---|---|---|
__cpp_lib_smart_ptr_owner_equality
|
202306L
|
(C++26) |
Ermöglicht die Verwendung von
std::shared_ptr
und
std::weak_ptr
als Schlüssel in
ungeordneten assoziativen Containern
|
Siehe auch
|
(C++26)
|
bietet besitzerbasierte Gleichheitsvergleiche von Shared Pointern
(öffentliche Elementfunktion von
std::shared_ptr<T>
)
|
|
(C++26)
|
bietet besitzerbasierte Gleichheitsvergleiche von Weak Pointern
(öffentliche Elementfunktion von
std::weak_ptr<T>
)
|