std::sortable

来自cppreference.com
< cpp‎ | iterator
 
 
迭代器库
迭代器概念
迭代器原语
算法概念与工具
间接可调用概念
常用算法要求
(C++20)
(C++20)
sortable
(C++20)
工具
迭代器适配器
流迭代器
迭代器定制点
迭代器操作
(C++11)
(C++11)
范围访问
(C++11)(C++14)
(C++11)(C++14)
(C++17)(C++20)
(C++14)(C++14)
(C++14)(C++14)
(C++17)
(C++17)
 
在标头 <iterator> 定义
template< class I, class R = ranges::less, class P = std::identity >

concept sortable =
    std::permutable<I> &&

    std::indirect_strict_weak_order<R, std::projected<I, P>>;
(C++20 起)

sortable 概念指定按照 R 重排范围到有序范围中的算法的要求。

语义要求

std::sortable<I, R, P> 仅若其所蕴含的所有概念均被实现才得以实现。

参阅

将范围按升序排序
(niebloid)
将范围内的元素排序,同时保持相等的元素之间的顺序
(niebloid)
排序一个范围的前 N 个元素
(niebloid)
将给定的范围部分排序,确保其按给定元素划分
(niebloid)
在原位归并两个有序范围
(niebloid)
将一个元素加入到一个最大堆
(niebloid)
从最大堆中移除最大元素
(niebloid)
从一个元素范围创建出一个最大堆
(niebloid)
将一个最大堆变成一个按升序排序的元素范围
(niebloid)
产生某个元素范围的按字典序下一个较大的排列
(niebloid)
产生某个元素范围的按字典序下一个较小的排列
(niebloid)