Namespaces
Variants

std::partial_order

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte de lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de funcionalidad de la biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación de tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
Definido en el encabezado <compare>
inline namespace /* unspecified */ {
    inline constexpr /* unspecified */ partial_order = /* unspecified */;
}
(desde C++20)
Firma de llamada
template< class T, class U >
    requires /* see below */
constexpr std::partial_ordering
    partial_order( T&& t, U&& u ) noexcept(/* see below */);

Compara dos valores usando comparación de tres vías y produce un resultado de tipo std::partial_ordering.

Sean t y u expresiones y T y U denotan decltype((t)) y decltype((u)) respectivamente, std::partial_order(t, u) es equivalente a expresión a:

  • Si std::is_same_v<std::decay_t<T>, std::decay_t<U>> es true:
    • std::partial_ordering(partial_order(t, u)), si es una expresión bien formada con resolución de sobrecarga realizada en un contexto que no incluye una declaración de std::partial_order,
    • de lo contrario, std::partial_ordering(std::compare_three_way()(t, u)), si está bien formado,
    • de lo contrario, std::partial_ordering(std::weak_order(t, u)), si está bien formado.
  • En todos los demás casos, la expresión está mal formada, lo que puede resultar en fallo de sustitución cuando aparece en el contexto inmediato de una instanciación de plantilla.

Objetos de punto de personalización

El nombre std::partial_order denota un objeto de punto de personalización , que es un objeto función constante de un tipo de clase literal semiregular . Consulte CustomizationPointObject para más detalles.

Ejemplo

Véase también

el tipo de resultado de la comparación de 3 vías que admite los 6 operadores, no es sustituible y permite valores incomparables
(clase)
realiza una comparación de 3 vías y produce un resultado de tipo std::strong_ordering
(objeto de punto de personalización)
(C++20)
realiza una comparación de 3 vías y produce un resultado de tipo std::weak_ordering
(objeto de punto de personalización)
realiza una comparación de 3 vías y produce un resultado de tipo std::partial_ordering , incluso si operator <=> no está disponible
(objeto de punto de personalización)