std::sortable
来自cppreference.com
迭代器库
迭代器概念 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
迭代器原语 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
算法概念与工具 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
间接可调用概念 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
常用算法要求 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
工具 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
迭代器适配器 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
流迭代器 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
迭代器定制点 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++20)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++20)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
迭代器操作 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
范围访问 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
在标头
<iterator>
定义
|
||
template<
class
I, class
R =
ranges::less,
class P
=
std::identity
>
concept sortable = |
(C++20 起) | |
sortable
概念指定按照 R
重排范围到有序范围中的算法的要求。
语义要求
std::sortable<I, R, P> 仅若其所蕴含的所有概念均被实现才得以实现。
参阅
(C++20)
|
将范围按升序排序 (niebloid) |
(C++20)
|
将范围内的元素排序,同时保持相等的元素之间的顺序 (niebloid) |
(C++20)
|
排序一个范围的前 N 个元素 (niebloid) |
(C++20)
|
将给定的范围部分排序,确保其按给定元素划分 (niebloid) |
(C++20)
|
在原位归并两个有序范围 (niebloid) |
(C++20)
|
将一个元素加入到一个最大堆 (niebloid) |
(C++20)
|
从最大堆中移除最大元素 (niebloid) |
(C++20)
|
从一个元素范围创建出一个最大堆 (niebloid) |
(C++20)
|
将一个最大堆变成一个按升序排序的元素范围 (niebloid) |
(C++20)
|
产生某个元素范围的按字典序下一个较大的排列 (niebloid) |
(C++20)
|
产生某个元素范围的按字典序下一个较小的排列 (niebloid) |