std::shared_ptr<T>:: owner_equal
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
|
(C++17)
|
||||
|
(
until C++20*
)
|
||||
|
(C++26)
|
||||
|
shared_ptr::owner_equal
(C++26)
|
||||
| Non-member functions | ||||
|
(until C++20)
(until C++20)
(until C++20)
(until C++20)
(until C++20)
(C++20)
|
||||
|
functions
(
until C++26*
)
|
||||
| Helper classes | ||||
|
(C++20)
|
||||
| Deduction guides (C++17) |
|
template
<
class
Y
>
bool owner_equal ( const std:: shared_ptr < Y > & other ) const noexcept ; |
(1) | (desde C++26) |
|
template
<
class
Y
>
bool owner_equal ( const std:: weak_ptr < Y > & other ) const noexcept ; |
(2) | (desde C++26) |
Comprueba si este
shared_ptr
y
other
comparten propiedad o si ambos están vacíos. La comparación es tal que dos punteros inteligentes se consideran equivalentes solo si ambos están vacíos o si ambos poseen el mismo objeto, incluso si los valores de los punteros obtenidos mediante
get()
son diferentes (por ejemplo, porque apuntan a diferentes subobjetos dentro del mismo objeto).
La función miembro
owner_equal
es una relación de equivalencia tal que
!
owner_before
(
other
)
&&
!
other.
owner_before
(
*
this
)
es
true
si y solo si
owner_equal
(
other
)
es
true
.
Este ordenamiento se utiliza para que los punteros compartidos y débiles puedan usarse como claves en contenedores asociativos no ordenados, típicamente a través de std::owner_equal .
Contenidos |
Parámetros
| otro | - | el std::shared_ptr o std::weak_ptr a comparar |
Valor de retorno
true si * this y other comparten propiedad o ambos están vacíos. De lo contrario, devuelve false .
Notas
| Macro de prueba de características | Valor | Estándar | Característica |
|---|---|---|---|
__cpp_lib_smart_ptr_owner_equality
|
202306L
|
(C++26) |
Habilitar el uso de
std::shared_ptr
como claves en
contenedores asociativos desordenados
|
Ejemplo
|
Esta sección está incompleta
Razón: ejemplo |
Véase también
|
(C++26)
|
proporciona comparaciones de igualdad basadas en propietario de tipos mixtos para punteros compartidos y débiles
(clase) |