std::experimental::ranges:: greater
|
Défini dans l'en-tête
<experimental/ranges/functional>
|
||
|
template
<
class
T
=
void
>
requires StrictTotallyOrdered
<
T
>
||
|
(ranges TS) | |
|
template
<>
struct greater < void > ; |
(ranges TS) | |
Objet fonction pour effectuer des comparaisons. Le modèle principal invoque
operator
<
sur des lvalues constantes de type
T
avec l'ordre des arguments inversé. La spécialisation
greater<void>
déduit les types de paramètres de l'opérateur d'appel de fonction à partir des arguments (mais pas le type de retour).
Toutes les spécialisations de
greater
sont
Semiregular
.
Table des matières |
Types membres
| Type de membre | Définition |
is_transparent
(membre uniquement de
greater<void>
spécialisation)
|
/* non spécifié */ |
Fonctions membres
|
operator()
|
vérifie si le premier argument est
supérieur
au second
(fonction membre publique) |
std::experimental::ranges::greater:: operator()
|
constexpr
bool
operator
(
)
(
const
T
&
x,
const
T
&
y
)
const
;
|
(1) |
(membre uniquement du template primaire
greater<T>
)
|
|
template
<
class
T,
class
U
>
requires StrictTotallyOrderedWith
<
T, U
>
||
|
(2) |
(membre uniquement de la spécialisation
greater<void>
)
|
t
et
u
. Équivalent à
return
ranges::
less
<>
{
}
(
std::
forward
<
U
>
(
u
)
,
std::
forward
<
T
>
(
t
)
)
;
.
Notes
Contrairement à
std::greater
,
ranges::greater
exige que les six opérateurs de comparaison
<
,
<=
,
>
,
>=
,
==
et
!=
soient valides (via les contraintes
StrictTotallyOrdered
et
StrictTotallyOrderedWith
) et est entièrement défini en termes de
ranges::less
. Cependant, l'implémentation est libre d'utiliser
operator
>
directement, car ces concepts exigent que les résultats des opérateurs de comparaison soient cohérents.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
objet fonction implémentant
x
>
y
(modèle de classe) |