std::rotate_copy
来自cppreference.com
| 在标头 <algorithm> 定义
|
||
| |
(1) | (C++20 起为 constexpr) |
| |
(2) | (C++17 起) |
1) 从范围
[first, last) 复制元素到始于 d_first,使得目标范围中,[first, middle) 的元素在 [middle, last) 后面并且保留这两个范围中元素的原本顺序。2) 同 (1),但按照
policy 执行。 此重载只有在满足以下所有条件时才会参与重载决议:
|
|
(C++20 前) |
|
|
(C++20 起) |
如果满足以下任意条件,那么行为未定义:
[first,middle)或[middle,last)不是有效范围。- 源和目标范围有重叠。
参数
| first, last | - | 要复制的源元素范围的迭代器对 |
| middle | - | 指向 [first, last) 中应出现在新范围起始的元素的迭代器
|
| d_first | - | 目标范围的起始 |
| policy | - | 所用的执行策略 |
| 类型要求 | ||
-ForwardIt, ForwardIt1, ForwardIt2 必须满足老式向前迭代器 (LegacyForwardIterator) 。
| ||
-OutputIt 必须满足 | ||