std:: partial_order
|
Défini dans l'en-tête
<compare>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
partial_order
=
/* unspecified */
;
|
(depuis C++20) | |
|
Signature d'appel
|
||
|
template
<
class
T,
class
U
>
requires
/* see below */
|
||
Compare deux valeurs en utilisant la comparaison à trois voies et produit un résultat de type
std::partial_ordering
.
Soient
t
et
u
des expressions, et
T
et
U
désignent respectivement
decltype
(
(
t
)
)
et
decltype
(
(
u
)
)
,
std
::
partial_order
(
t, u
)
est
équivalent-expression
à :
-
Si
std::
is_same_v
<
std::
decay_t
<
T
>
,
std::
decay_t
<
U
>>
est
true
:
-
std::
partial_ordering
(
partial_order
(
t, u
)
)
, si c'est une expression bien formée avec une résolution de surcharge effectuée dans un contexte qui n'inclut pas de déclaration de
std::partial_order, - sinon, std:: partial_ordering ( std:: compare_three_way ( ) ( t, u ) ) , si elle est bien formée,
- sinon, std:: partial_ordering ( std:: weak_order ( t, u ) ) , si elle est bien formée.
-
std::
partial_ordering
(
partial_order
(
t, u
)
)
, si c'est une expression bien formée avec une résolution de surcharge effectuée dans un contexte qui n'inclut pas de déclaration de
- Dans tous les autres cas, l'expression est mal formée, ce qui peut entraîner une substitution failure lorsqu'elle apparaît dans le contexte immédiat d'une instanciation de template.
Objets de point de personnalisation
Le nom
std::partial_order
désigne un
objet de point de personnalisation
, qui est un
objet fonction
constant de type classe
littéral
semiregular
. Voir
CustomizationPointObject
pour plus de détails.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
(C++20)
|
le type de résultat de la comparaison à trois voies qui prend en charge les 6 opérateurs, n'est pas substituable et permet des valeurs incomparables
(classe) |
|
(C++20)
|
effectue une comparaison à trois voies et produit un résultat de type
std::strong_ordering
(objet de point de personnalisation) |
|
(C++20)
|
effectue une comparaison à trois voies et produit un résultat de type
std::weak_ordering
(objet de point de personnalisation) |
|
(C++20)
|
effectue une comparaison à trois voies et produit un résultat de type
std::partial_ordering
, même si
operator
<=>
n'est pas disponible
(objet de point de personnalisation) |