operator+=( difference_type n ) { if ( n < 0 ) return operator-=(-n);  while ( n ) { difference_type one_hop = NS_MIN(n, size_forward()); NS_ASSERTION(one_hop>0, "Infinite loop: can't advance a writable iterator beyond the end of a string"); mPosition += one_hop; normalize_forward(); n -= one_hop; }  return *this; }
basic_nsAWritableString<CharT>& operator+=( const nsPromiseReadable<CharT>& aReadable )       { Append(aReadable); return *this; }
      operator+=( difference_type n )        {          if ( n < 0 )            return operator-=(-n);          while ( n )            {              difference_type one_hop = NS_MIN(n, size_forward());              NS_ASSERTION(one_hop>0, "Infinite loop: can't advance a writable iterator beyond the end of a string");              mPosition += one_hop;              normalize_forward();              n -= one_hop;            }          return *this;        }