func (it *inclusiveRangesIt) Next() int {
	if !it.init() {
		return it.ptr.End()
	}

	val := it.current.Next()

	if it.current.IsDone() {
		// Get the next available range
		it.pos++
		it.current = nil
	}

	return val
}
func (it *inclusiveRangesIt) Next() int {
	if !it.init() {
		return it.ptr.End()
	}

	val := it.current.Next()

	if it.current.IsDone() {
		
		it.pos++
		it.current = nil
	}

	return val
}
func ( it * inclusiveRangesIt ) Next ( ) int { if ! it . init ( ) { return it . ptr . End ( ) } val := it . current . Next ( ) if it . current . IsDone ( ) { // Get the next available range it . pos ++ it . current = nil } return val }
// Next() returns the current value in the
// iteration, and advances the interator. Next()
// will produce a valid result as long as a call
// to isDone() returns false.
Next () returns the current value in the iteration and advances the interator . Next () will produce a valid result as long as a call to isDone () returns false .