Namespaces
Variants

std:: permutable

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
permutable
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(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 >

concept permutable =
std:: forward_iterator < I > &&
std:: indirectly_movable_storable < I, I > &&

std:: indirectly_swappable < I, I > ;
(C++20 起)

概念 permutable 通过增加通过移动和交换进行重新排序的要求,细化了 std::forward_iterator

语义要求

I 仅当其所包含的所有概念均被建模时,才建模 permutable

参见

(C++20)
规定将序列排列为有序序列的算法的通用要求
(概念)
移除满足特定条件的元素
(算法函数对象)
移除范围中的连续重复元素
(算法函数对象)
反转范围中元素的顺序
(算法函数对象)
旋转范围中元素的顺序
(算法函数对象)
随机重排范围中的元素
(算法函数对象)
将元素范围划分为两组
(算法函数对象)
将元素划分为两组并保持其相对顺序
(算法函数对象)