Boost.Range added unit tests for extended algorithms.

Put the extended algorithms into boost::range in a similar manner to the standard algorithms.
Added iota as an extended algorithm.
Fixed defects in the extended algorithms brought to light by the new unit tests.

[SVN r61042]
This commit is contained in:
Neil Groves
2010-04-04 14:14:12 +00:00
parent 6cc4cbf1a1
commit cee9ffc1a8
23 changed files with 993 additions and 125 deletions

View File

@ -0,0 +1,28 @@
[section:for_each for_each]
[heading Prototype]
``
template<class SinglePassRange, class Value>
iota(SinglePassRange& rng, Value x);
``
[heading Description]
`iota` traverses forward through `rng`, each element `y` in `rng` is assigned a value equivalent
to `x + boost::distance(boost::begin(rng), it)`
[heading Definition]
Defined in the header file `boost/range/algorithm_ext/iota.hpp`
[heading Requirements]
# `SinglePassRange` is a model of the __single_pass_range__ Concept.
# `Value` is a model of the `Incrementable` Concept.
[heading Complexity]
Linear. Exactly `distance(rng)` assignments into `rng`.
[endsect]