synth-three-way,synth-three-way-result
来自 cppreference.com
constexpr auto synth-three-way = /* see below */; |
(1) | (自 C++20 起) (仅供说明*) |
template< class T, class U = T > using synth-three-way-result = |
(2) | (自 C++20 起) (仅供说明*) |
1) 一个函数对象,其 operator() 的行为类似于合成的三路比较函数。等效于
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) (1) 的 operator() 的返回类型(
synth-three-way
)。[编辑] 参数
t, u | - | 要比较的值 |
[编辑] 返回值
比较结果。
[编辑] 另请参阅
(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(C++20) |
按字典序比较 pair 中的值(函数模板) |
(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(C++20) |
按字典序比较元组中的值 (函数模板) |
(C++11)(C++11)(在 C++20 中移除)(C++11)(在 C++20 中移除)(C++11)(在 C++20 中移除)(C++11)(在 C++20 中移除)(C++11)(在 C++20 中移除)(C++20) |
按字典序比较两个 array 的值(函数模板) |
(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(C++20) |
按字典序比较两个 deque 的值(函数模板) |
(C++11)(C++11)(在 C++20 中移除)(C++11)(在 C++20 中移除)(C++11)(在 C++20 中移除)(C++11)(在 C++20 中移除)(C++11)(在 C++20 中移除)(C++20) |
按字典序比较两个 forward_list 的值(函数模板) |
(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(C++20) |
按字典序比较两个 list 的值(函数模板) |
(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(C++20) |
按字典序比较两个 vector 的值(函数模板) |
(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(C++20) |
按字典序比较两个 map 的值(函数模板) |
(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(C++20) |
按字典序比较两个 multimap 的值(函数模板) |
(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(C++20) |
按字典序比较两个 set 的值(函数模板) |
(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(在 C++20 中移除)(C++20) |
按字典序比较两个 multiset 的值(函数模板) |