Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

copy_backward
PrevUpHomeNext
Prototype

template<class BidirectionalRange, class BidirectionalOutputIterator>
    BidirectionalOutputIterator
        copy_backward(const BidirectionalRange& source_rng,
                      BidirectionalOutputIterator out_it);

Description

copy_backward copies all elements from source_rng to the range [out_it - distance(source_rng), out_it).

The values are copied in reverse order. The return value is out_it - distance(source_rng).

Note well that unlike all other standard algorithms out_it denotes the end of the output sequence.

Definition

Defined in the header file boost/range/algorithm/copy_backward.hpp

Requirements
  • BidirectionalRange is a model of Bidirectional Range Concept.
  • OutputIterator is a model of the OutputIteratorConcept.
  • The value_type of Bidirectional Range Concept is convertible to a type in OutputIterator's set of value types.
Precondition:
  • out_it is not an iterator within the source_rng.
  • [out_it, out_it + distance(source_rng)) is a valid range.
Complexity

Linear. Exactly distance(source_rng) assignments are performed.


PrevUpHomeNext