[section:reverse_copy reverse_copy]

[heading Prototype]

``
template<class BidirectionalRange, class OutputIterator>
OutputIterator reverse_copy(const BidirectionalRange& rng, OutputIterator out);
``

[heading Description]

`reverse_copy` copies the elements from `rng` in reverse order to `out`.
Returns the output iterator one passed the last copied element.

[heading Definition]

Defined in the header file `boost/range/algorithm/reverse_copy.hpp`

[heading Requirements]

* `BidirectionalRange` is a model of the __bidirectional_range__ Concept.
* `BidirectionalRange` is mutable.
* `OutputIterator` is a model of the `OutputIteratorConcept`.

[heading Complexity]

Linear. `reverse_copy` makes `distance(rng)` copies.

[endsect]


