std::lexicographical_compare_3way
来自cppreference.com
定义于头文件 <algorithm>
|
||
template< class InputIt1, class InputIt2, class Cmp > constexpr auto lexicographical_compare_3way( InputIt1 b1, InputIt1 e1, |
(1) | (C++20 起) |
template< class InputIt1, class InputIt2 > constexpr auto lexicographical_compare_3way( InputIt1 b1, InputIt1 e1, |
(2) | (C++20 起) |
用三路比较,以字典序比较二个范围 [first1, last1) 和 [first2, last2) ,并产生最强可应用比较类别类型的结果。
1) 表现为定义如下:
for ( ; b1 != e1 && b2 != e2; void(++b1), void(++b2) ) if (auto cmp = comp(*b1,*b2); cmp != 0) return cmp; return b1 != e1 ? std::strong_ordering::greater : b2 != e2 ? std::strong_ordering::less : std::strong_ordering::equal;
2) 表现为定义如下:
return std::lexicographical_compare_3way(b1, e1, b2, e2, [](const auto& t, const auto& u) { return std::compare_3way(t, u); });
目录 |
[编辑] 参数
first1, last1 | - | 要检验的第一元素范围 |
first2, last2 | - | 要检验的第二元素范围 |
comp | - | 函数对象类型。若其返回类型不是五个比较类别类型( strong_equality 、 weak_equality 、 strong_ordering 、 weak_ordering 或 partial_ordering )之一则行为未定义。 |
类型要求 | ||
-InputIt1, InputIt2 必须满足 InputIterator 的要求。
|
[编辑] 返回值
定义如上的比较类别类型的值。
[编辑] 示例
本节未完成 原因:暂无示例 |
[编辑] 参阅
(C++20) |
用三路比较比较二个值 (函数模板) |