def irange(self, minimum=None, maximum=None, inclusive=(True, True),<EOL>reverse=False):
minimum = self._key(minimum) if minimum is not None else None<EOL>maximum = self._key(maximum) if maximum is not None else None<EOL>return self._irange_key(<EOL>min_key=minimum, max_key=maximum,<EOL>inclusive=inclusive, reverse=reverse,<EOL>)<EOL>
Create an iterator of values between `minimum` and `maximum`.

`inclusive` is a pair of booleans that indicates whether the minimum
and maximum ought to be included in the range, respectively. The
default is (True, True) such that the range is inclusive of both
minimum and maximum.

Both `minimum` and `maximum` default to `None` which is automatically
inclusive of the start and end of the list, respectively.

When `reverse` is `True` the values are yielded from the iterator in
reverse order; `reverse` defaults to `False`.