• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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:irange irange]
7
8[heading Prototype]
9
10``
11template<class Integer>
12iterator_range< range_detail::integer_iterator<Integer> >
13irange(Integer last);
14
15template<class Integer>
16iterator_range< range_detail::integer_iterator<Integer> >
17irange(Integer first, Integer last);
18
19template<class Integer, class StepSize>
20iterator_range< range_detail::integer_iterator_with_step<Integer, StepSize> >
21irange(Integer first, Integer last, StepSize step_size);
22``
23
24[heading Description]
25
26`irange` is a function to generate an Integer Range.
27
28`irange` allows treating integers as a model of the __random_access_range__ Concept. It should be noted that the `first` and `last` parameters denoted a half-open range.
29
30[heading Definition]
31
32Defined in the header file `boost/range/irange.hpp`
33
34[heading Requirements]
35
36# `Integer` is a model of the `Integer` Concept.
37# `StepSize` is a model of the `SignedInteger` Concept.
38
39[heading Complexity]
40
41Constant. Since this function generates a new range the most significant performance cost is incurred through the iteration of the generated range.
42
43[endsect]
44