Dart DocumentationbotIndexIterator<T>

IndexIterator<T> class

class IndexIterator<T> implements Iterator<T> {
  IndexIterator(int length, Func1<int, T> indexer) :
    _indexer = indexer,
    _length = length,
    _pos = 0 {
    requireArgumentNotNull(_indexer, '_indexer');
    assert(_length >= 0);
  }

  bool hasNext() => _length > _pos;

  T next() {
    if (!hasNext()) {
      throw const NoMoreElementsException();
    }
    return _indexer(_pos++);
  }

  final Func1<int, T> _indexer;
  final int _length;
  int _pos;
}

Implements

Iterator<E>

Constructors

new IndexIterator(int length, Func1 indexer) #

IndexIterator(int length, Func1<int, T> indexer) :
  _indexer = indexer,
  _length = length,
  _pos = 0 {
  requireArgumentNotNull(_indexer, '_indexer');
  assert(_length >= 0);
}

Properties

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

Operators

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

Methods

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

bool hasNext() #

Returns whether the Iterator has elements left.

docs inherited from Iterator<E>
bool hasNext() => _length > _pos;

new IndexIterator(int length, Func1 indexer) #

IndexIterator(int length, Func1<int, T> indexer) :
  _indexer = indexer,
  _length = length,
  _pos = 0 {
  requireArgumentNotNull(_indexer, '_indexer');
  assert(_length >= 0);
}

T next() #

Gets the next element in the iteration. Throws a NoMoreElementsException if no element is left.

docs inherited from Iterator<E>
T next() {
  if (!hasNext()) {
    throw const NoMoreElementsException();
  }
  return _indexer(_pos++);
}

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();