#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.