reverse
Reverses the order of the elements within a range.
template<class BidirectionalIterator> void reverse( BidirectionalIterator _First, BidirectionalIterator _Last );
reverse_copy
Reverses the order of the elements within a source range while copying them into a destination range
template<class BidirectionalIterator, class OutputIterator> OutputIterator reverse_copy( BidirectionalIterator _First, BidirectionalIterator _Last, OutputIterator _Result );