| Home | Libraries | People | FAQ | More

##### generate

###### Prototype

    template<class ForwardRange, class Generator>
    ForwardRange& generate( ForwardRange& rng, Generator gen );

    template<class ForwardRange, class Generator>
    const ForwardRange& generate( const ForwardRange& rng, Generator gen );

###### Description

`generate` assigns the result of `gen()` to each element in range `rng`. Returns the resultant range.

###### Definition

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

###### Requirements

- `ForwardRange` is a model of the Forward Range Concept.
- `ForwardRange` is mutable.
- `Generator` is a model of the `GeneratorConcept`.
- The `value_type` of `SinglePassRange` is convertible to a type in `OutputIterator`'s set of value types.

###### Precondition:

- `out_it` is not an iterator within `rng`.
- `[out_it, out_it + distance(rng))` is a valid range.

###### Complexity

Linear. Exactly `distance(rng)` assignments are performed.