constructor string, int index)

Create an iterator positioned before the indexth code unit of the string.

When created, there is no current value. A moveNext will use the rune starting at index the current value, and a movePrevious will use the rune ending just before index as the the current value.

The index position must not be in the middle of a surrogate pair.

Implementation string, int index)
    : string = string,
      _position = index,
      _nextPosition = index {
  RangeError.checkValueInInterval(index, 0, string.length);