std::sortable

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

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

    std::indirect_strict_weak_order<Comp, std::projected<I, Proj>>;
(C++20 起)

sortable 概念指定对于“按照 Comp 将范围重排为有序范围的算法”的要求。

[编辑] 语义要求

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

[编辑] 参阅

将范围按升序排序
(算法函数对象) [编辑]
将范围中元素排序,同时保持相等元之间的顺序
(算法函数对象) [编辑]
将范围中前 N 个元素排序
(算法函数对象) [编辑]
将给定范围部分排序,确保其按给定元素划分
(算法函数对象) [编辑]
就地合并两个有序范围
(算法函数对象) [编辑]
添加元素到最大堆
(算法函数对象) [编辑]
移除最大堆中最大元
(算法函数对象) [编辑]
从元素范围创建最大堆
(算法函数对象) [编辑]
将最大堆变成按升序排序的元素范围
(算法函数对象) [编辑]
生成元素范围的下一个字典序更大的排列
(算法函数对象) [编辑]
生成元素范围的下一个字典序更小的排列
(算法函数对象) [编辑]