#include <rangelib/integral_range.hpp>

It is categoried as a Notional Range
It could be used as follows
// Create a range of integer values, in the range [-100, 200), in increments of 5 stlsoft::integral_range<int> r(-100, +100, 5); // Calculate the total int total = stlsoft::r_accumulate(r, 0);
Notional Range methods | |
| bool | is_open () const |
| Indicates whether the range is open. | |
| const_reference | current () const |
| Returns the current value in the range. | |
| class_type & | advance () |
| Advances the current position in the range. | |
| operator operator_bool_type () const | |
| Indicates whether the range is open. | |
| const_reference | operator* () const |
| Returns the current value in the range. | |
| class_type & | operator++ () |
| Advances the current position in the range. | |
| class_type | operator++ (int) |
| Advances the current position in the range, returning a copy of the range prior to its being advanced. | |
Public Types | |
Types | |
| typedef T | value_type |
| typedef T const & | const_reference |
| typedef XP | exception_policy_type |
| typedef notional_range_tag | range_tag_type |
| typedef integral_range< T, XP > | class_type |
Public Member Functions | |
Construction | |
| integral_range (value_type first, value_type last, value_type increment=+1) | |
| Constructs from a start and end position, and an increment. | |
| ~integral_range () throw () | |
| Destructor. | |
Comparison | |
| bool | operator== (class_type const &rhs) const |
| Evaluates whether two ranges are equal. | |
| bool | operator!= (class_type const &rhs) const |
| Evaluates whether two ranges are unequal. | |
| integral_range | ( | value_type | first, | |
| value_type | last, | |||
| value_type | increment = +1 | |||
| ) | [inline] |
Constructs from a start and end position, and an increment.
| ~integral_range | ( | ) | throw () [inline] |
| bool is_open | ( | ) | const [inline] |
Indicates whether the range is open.
| const_reference current | ( | ) | const [inline] |
| class_type& advance | ( | ) | [inline] |
| operator operator_bool_type | ( | ) | const [inline] |
Indicates whether the range is open.
| const_reference operator* | ( | ) | const [inline] |
Returns the current value in the range.
| class_type& operator++ | ( | ) | [inline] |
Advances the current position in the range.
| class_type operator++ | ( | int | ) | [inline] |
Advances the current position in the range, returning a copy of the range prior to its being advanced.
| bool operator== | ( | class_type const & | rhs | ) | const [inline] |
Evaluates whether two ranges are equal.
References integral_range::m_last, integral_range::m_position, and STLSOFT_MESSAGE_ASSERT.
| bool operator!= | ( | class_type const & | rhs | ) | const [inline] |
Evaluates whether two ranges are unequal.
1.5.6