Namespaces
Variants

synth-three-way, synth-three-way-result

Depuis fr.cppreference.net
constexpr auto synth-three-way = /* see below */;
(1) (depuis C++20)
(*exposition uniquement*)
template< class T, class U = T >
using synth-three-way-result =
    decltype(synth-three-way(std::declval<T&>(), std::declval<U&>()));
(2) (depuis C++20)
(*exposition uniquement*)
1) Un objet fonction dont operator() se comporte comme la fonction de comparaison à trois voies synthétisée. Équivalent à :
constexpr auto synth-three-way =
    []<class T, class U>(const T& t, const U& u)
        requires requires
        {
            { t < u } -> boolean-testable;
            { u < t } -> boolean-testable;
        }
    {
        if constexpr (std::three_way_comparable_with<T, U>)
            return t <=> u;
        else
        {
            if (t < u)
                return std::weak_ordering::less;
            if (u < t)
                return std::weak_ordering::greater;
            return std::weak_ordering::equivalent;
        }
    };
2) Le type de retour de operator() de (1) (synth-three-way).

Paramètres

t, u - les valeurs à comparer

Valeur de retour

Le résultat de la comparaison.

Voir aussi

(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs dans la pair
(modèle de fonction)
(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs dans le tuple
(modèle de fonction)
(C++11) (C++11) (supprimé en C++20) (C++11) (supprimé en C++20) (C++11) (supprimé en C++20) (C++11) (supprimé en C++20) (C++11) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs de deux array s
(modèle de fonction)
(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs de deux deque s
(modèle de fonction)
(C++11) (C++11) (supprimé en C++20) (C++11) (supprimé en C++20) (C++11) (supprimé en C++20) (C++11) (supprimé en C++20) (C++11) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs de deux forward_list s
(modèle de fonction)
(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs de deux list s
(modèle de fonction)
(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs de deux vector s
(modèle de fonction)
(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs de deux map s
(modèle de fonction)
(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs de deux multimap s
(modèle de fonction)
(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs de deux set s
(modèle de fonction)
(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs de deux multiset s
(modèle de fonction)