forked from boostorg/range
39 lines
872 B
Plaintext
39 lines
872 B
Plaintext
![]() |
[section:rotate_copy rotate_copy]
|
||
|
|
||
|
[heading Prototype]
|
||
|
|
||
|
``
|
||
|
template<class ForwardRange, class OutputIterator>
|
||
|
OutputIterator rotate_copy(
|
||
|
const ForwardRange& rng,
|
||
|
typename range_iterator<ForwardRange>::type middle,
|
||
|
OutputIterator out);
|
||
|
``
|
||
|
|
||
|
[heading Description]
|
||
|
|
||
|
`rotate_copy` rotates the elements in a range. It copies the two ranges `[begin(rng), middle)` and `[middle, end(rng))` to `out`.
|
||
|
|
||
|
[heading Definition]
|
||
|
|
||
|
Defined in the header file `boost/range/algorithm/rotate_copy.hpp`
|
||
|
|
||
|
[heading Requirements]
|
||
|
|
||
|
* `ForwardRange` is a model of the __forward_range__ Concept.
|
||
|
* `ForwardRange` is mutable.
|
||
|
* `OutputIterator` is a model of the `OutputIteratorConcept`.
|
||
|
|
||
|
[heading Precondition:]
|
||
|
|
||
|
* `[begin(rng), middle)` is a valid range.
|
||
|
* `[middle, end(rng))` is a valid range.
|
||
|
|
||
|
[heading Complexity]
|
||
|
|
||
|
Linear. Exactly `distance(rng)` elements are copied.
|
||
|
|
||
|
[endsect]
|
||
|
|
||
|
|