Namespaces
Variants
Actions

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

From cppreference.com
constexpr auto synth-three-way = /* see below */;
(1) (since C++20)
(exposition only*)
template< class T, class U = T >

using synth-three-way-result =

    decltype(synth-three-way(std::declval <T&>(), std::declval <U&>()));
(2) (since C++20)
(exposition only*)
1) A function object whose operator() behaves as the synthesized three-way comparison function. Equivalent to:
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) The return type of the operator() of (1) (synth-three-way).

[edit] Parameters

t, u - the values to be compared

[edit] Return value

The compare result.

[edit] See also

(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
lexicographically compares the values in the pair
(function template) [edit]
(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
lexicographically compares the values in the tuple
(function template) [edit]
(C++11)(C++11)(removed in C++20)(C++11)(removed in C++20)(C++11)(removed in C++20)(C++11)(removed in C++20)(C++11)(removed in C++20)(C++20)
lexicographically compares the values of two arrays
(function template) [edit]
(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
lexicographically compares the values of two deques
(function template) [edit]
(C++11)(C++11)(removed in C++20)(C++11)(removed in C++20)(C++11)(removed in C++20)(C++11)(removed in C++20)(C++11)(removed in C++20)(C++20)
lexicographically compares the values of two forward_lists
(function template) [edit]
(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
lexicographically compares the values of two lists
(function template) [edit]
(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
lexicographically compares the values of two vectors
(function template) [edit]
(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
lexicographically compares the values of two maps
(function template) [edit]
(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
lexicographically compares the values of two multimaps
(function template) [edit]
(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
lexicographically compares the values of two sets
(function template) [edit]
(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
lexicographically compares the values of two multisets
(function template) [edit]
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/standard_library/synth-three-way&oldid=156904"

AltStyle によって変換されたページ (->オリジナル) /