std::owner_less - cppreference.com
Espacios de nombres
Variantes

std::owner_less

De cppreference.com
 
 
Biblioteca de servicios
Apoyo del lenguaje
Apoyo de tipos (tipos básicos, RTTI)
Macros de prueba de característica de la biblioteca (C++20)
Servicios de programa
Funciones variádicas
Apoyo de corrutinas (C++20)
Apoyo de contratos (C++26)
Comparación de tres vías (C++20)
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

 
Gestión de memoria dinámica
Punteros inteligentes
(C++11)
(C++11)
(C++11)
(hasta C++17)
(C++11)
(C++23)
Asignadores de memoria
Recursos de memoria
Almacenamiento no inicializado
Algoritmos de memoria no inicializada
Algoritmos restringidos de memoria no inicializada
Apoyo para recolección de basura
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
Misceláneos
(C++20)
(C++11)
(C++11)
 
Definido en el archivo de encabezado <memory>
template<>
struct owner_less<void>;
(desde C++17)

std::owner_less<> es una especializaciones de std::owner_less con los tipos de los parámetros deducidos.

Tipos miembro

Tipo miembro Definición
is_transparent /* no especificado */

Notas

El tipo miembro is_transparent indica al llamante que este objeto función es un objeto función transparente: acepta argumentos de tipos arbitrarios y utiliza un reenvío perfecto, lo que evita la copia y conversión innecesarias cuando el objeto función se utiliza en un contexto heterogéneo o con argumentos r-valor. En particular, las funciones de plantilla como std::set::find y std::set::lower_bound hacen uso de este tipo miembro en sus tipos Compare.


Macro de Prueba de característica
__cpp_lib_transparent_operators

Funciones miembro

Compara sus argumentos usando semántica basada en propietario.
(función)

std::owner_less<void>::operator()

template<class T, class U>
bool operator()( const std::shared_ptr<T>& lhs, 
                 const std::shared_ptr<U>& rhs ) const noexcept;
(desde C++17)
template<class T, class U>
bool operator()( const std::shared_ptr<T>& lhs, 
                 const std::weak_ptr<U>& rhs ) const noexcept;
(desde C++17)
template<class T, class U>
bool operator()( const std::weak_ptr<T>& lhs, 
                 const std::shared_ptr<U>& rhs ) const noexcept;
(desde C++17)
template<class T, class U>
bool operator()( const std::weak_ptr<T>& lhs, 
                 const std::weak_ptr<U>& rhs ) const noexcept;
(desde C++17)

Compara lhs y rhs usando semántica basada en propietario. Efectivamente llama a lhs.owner_before(rhs).

El ordenamiento es una estricta relación de ordenamiento débil.

lhs y rhs son equivalentes solo si ambos están vacíos o comparten la posesión.

Parámetros

lhs, rhs - Punteros de posesión compartida a comparar.

Valor de retorno

true si lhs es menor que rhs como se determine por el ordenamiento basado en propietario.

Véase también