[section:counting_range counting_range]

[heading Prototype]

``
template< class Incrementable > inline
iterator_range< counting_iterator<Incrementable> >
counting_range(Incrementable first, Incrementable last);

template< class SinglePassRange > inline
iterator_range< counting_iterator<typename range_iterator<SinglePassRange>::type >
counting_range(const SinglePassRange& rng);

template< class SinglePassRange > inline
iterator_range< counting_iterator<typename range_iterator<SinglePassRange>::type >
counting_range(SinglePassRange& rng);
``

[heading Description]

`counting_range` is a function to generator that generates an `iterator_range` wrapping a `counting_iterator` (from Boost.Iterator).

[heading Definition]

Defined in header file `boost/range/counting_range.hpp`

[heading Requirements]

# `Incrementable` is a model of the `Incrementable` Concept.

[endsect]
