1[/ 2 Copyright 2010 Neil Groves 3 Distributed under the Boost Software License, Version 1.0. 4 (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5/] 6[section:copy copy] 7 8[heading Prototype] 9 10`` 11template<class SinglePassRange, class OutputIterator> 12OutputIterator copy(const SinglePassRange& source_rng, OutputIterator out_it); 13`` 14 15[heading Description] 16 17`copy` copies all elements from `source_rng` to the range `[out_it, out_it + distance(source_rng))`. 18The return value is `out_it + distance(source_rng)` 19 20[heading Definition] 21 22Defined in the header file `boost/range/algorithm/copy.hpp` 23 24[heading Requirements] 25 26* `SinglePassRange` is a model of the __single_pass_range__ Concept. 27* `OutputIterator` is a model of the `OutputIteratorConcept`. 28* The `value_type` of __single_pass_range__ Concept is convertible to a type in `OutputIterator`'s set of value types. 29 30[heading Precondition:] 31 32* `out_it` is not an iterator within the `source_rng`. 33* `[out_it, out_it + distance(source_rng))` is a valid range. 34 35[heading Complexity] 36 37Linear. Exactly `distance(source_rng)` assignments are performed. 38 39[endsect] 40 41 42