| Index: quiver/lib/src/iterables/range.dart
|
| diff --git a/quiver/lib/src/iterables/range.dart b/quiver/lib/src/iterables/range.dart
|
| deleted file mode 100644
|
| index c707748f2e2a1556779f07a87358936019748677..0000000000000000000000000000000000000000
|
| --- a/quiver/lib/src/iterables/range.dart
|
| +++ /dev/null
|
| @@ -1,74 +0,0 @@
|
| -// Copyright 2013 Google Inc. All Rights Reserved.
|
| -//
|
| -// Licensed under the Apache License, Version 2.0 (the "License");
|
| -// you may not use this file except in compliance with the License.
|
| -// You may obtain a copy of the License at
|
| -//
|
| -// http://www.apache.org/licenses/LICENSE-2.0
|
| -//
|
| -// Unless required by applicable law or agreed to in writing, software
|
| -// distributed under the License is distributed on an "AS IS" BASIS,
|
| -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -// See the License for the specific language governing permissions and
|
| -// limitations under the License.
|
| -
|
| -part of quiver.iterables;
|
| -
|
| -/**
|
| - * Returns an [Iterable] sequence of [num]s.
|
| - *
|
| - * If only one argument is provided, [start_or_stop] is the upper bound for the
|
| - * sequence. If two or more arguments are provided, [stop] is the upper bound.
|
| - *
|
| - * The sequence starts at 0 if one argument is provided, or [start_or_stop] if
|
| - * two or more arguments are provided. The sequence increments by 1, or [step]
|
| - * if provided. [step] can be negative, in which case the sequence counts down
|
| - * from the starting point and [stop] must be less than the starting point so
|
| - * that it becomes the lower bound.
|
| - */
|
| -Iterable<num> range(num start_or_stop, [num stop, num step]) =>
|
| - new _Range(start_or_stop, stop, step);
|
| -
|
| -class _Range extends IterableBase<num> {
|
| - final num start, stop, step;
|
| -
|
| - _Range(num start_or_stop, num _stop, num _step)
|
| - : start = (_stop == null) ? 0 : start_or_stop,
|
| - stop = (_stop == null) ? start_or_stop : _stop,
|
| - step = (_step == null) ? 1 : _step {
|
| - if (step == 0) {
|
| - throw new ArgumentError("step cannot be 0");
|
| - }
|
| - if ((step > 0) && (stop < start)) {
|
| - throw new ArgumentError("if step is positive,"
|
| - " stop must be greater than start");
|
| - }
|
| - if ((step < 0) && (stop > start)) {
|
| - throw new ArgumentError("if step is negative,"
|
| - " stop must be less than start");
|
| - }
|
| - }
|
| -
|
| - Iterator<num> get iterator => new _RangeIterator(start, stop, step);
|
| -}
|
| -
|
| -class _RangeIterator implements Iterator<num> {
|
| - final num _stop, _step;
|
| - num _value;
|
| - bool _hasNext;
|
| - bool _inRange;
|
| -
|
| - _RangeIterator(num start, num stop, this._step)
|
| - : _value = start,
|
| - _stop = stop,
|
| - _hasNext = true,
|
| - _inRange = false;
|
| -
|
| - num get current => _inRange ? _value : null;
|
| -
|
| - bool moveNext() {
|
| - if (_hasNext && _inRange) _value += _step;
|
| - _inRange = _hasNext = (_step > 0) ? (_value < _stop) : (_value > _stop);
|
| - return _hasNext;
|
| - }
|
| -}
|
|
|