std::partial_order
De es.cppreference.net
| 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>>estrue: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 destd::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
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
(C++20)
|
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) |
|
(C++20)
|
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) |
|
(C++20)
|
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) |