description

# moveNext method

bool moveNext()
override

Move to the next code point.

Returns `true` and updates current if there is a next code point. Returns `false` otherwise, and then there is no current code point.

## Implementation

    bool moveNext() {
      _position = _nextPosition;
      if (_position == string.length) {
        _currentCodePoint = -1;
        return false;
      }
      int codeUnit = string.codeUnitAt(_position);
      int nextPosition = _position + 1;
      if (_isLeadSurrogate(codeUnit) && nextPosition < string.length) {
        int nextCodeUnit = string.codeUnitAt(nextPosition);
        if (_isTrailSurrogate(nextCodeUnit)) {
          _nextPosition = nextPosition + 1;
          _currentCodePoint = _combineSurrogatePair(codeUnit, nextCodeUnit);
          return true;
        }
      }
      _nextPosition = nextPosition;
      _currentCodePoint = codeUnit;
      return true;
    }