Namensräume
Varianten
Aktionen

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

Von cppreference.com
constexpr auto synth-three-way = /* siehe unten */;
(1) (seit C++20)
(nur Exposition*)
template< class T, class U = T >

using synth-three-way-result =

    decltype(synth-three-way(std::declval<T&>(), std::declval<U&>()));
(2) (seit C++20)
(nur Exposition*)
1) Ein Function-Objekt, dessen operator() sich wie die synthetisierte Drei-Wege-Vergleichsfunktion verhält. Äquivalent zu
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) Der Rückgabetyp des operator() von (1) (synth-three-way).

[bearbeiten] Parameter

t, u - die zu vergleichenden Werte

[bearbeiten] Rückgabewert

Das Vergleichsergebnis.

[bearbeiten] Siehe auch

(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(C++20)
vergleicht die Werte im pair lexikographisch
(Funktionsvorlage) [edit]
(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(C++20)
vergleicht die Werte im Tupel lexikographisch
(function template) [bearbeiten]
(C++11)(C++11)(entfernt in C++20)(C++11)(entfernt in C++20)(C++11)(entfernt in C++20)(C++11)(entfernt in C++20)(C++11)(entfernt in C++20)(C++20)
vergleicht die Werte zweier arrays lexikographisch
(function template) [edit]
(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(C++20)
vergleicht die Werte zweier deques lexikographisch
(function template) [edit]
(C++11)(C++11)(entfernt in C++20)(C++11)(entfernt in C++20)(C++11)(entfernt in C++20)(C++11)(entfernt in C++20)(C++11)(entfernt in C++20)(C++20)
vergleicht lexikographisch die Werte von zwei forward_lists
(function template) [edit]
(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(C++20)
vergleicht die Werte von zwei lists lexikographisch
(function template) [edit]
(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(C++20)
vergleicht lexikographisch die Werte zweier vectors
(function template) [edit]
(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(C++20)
vergleicht zwei maps lexikographisch
(function template) [edit]
(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(C++20)
vergleicht lexikographisch die Werte zweier multimaps
(function template) [edit]
(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(C++20)
vergleicht die Werte von zwei sets lexikografisch
(function template) [edit]
(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(entfernt in C++20)(C++20)
vergleicht die Werte von zwei multisets lexikographisch
(function template) [edit]