private static bool StringMoveNext(ref RuneEnumerator e) { if (e._stringEnumerator.MoveNext()) { e.Current = e._stringEnumerator.Current; return(true); } return(false); }
private static bool InterfaceMoveNext(ref RuneEnumerator e) { if (e._interfaceEnumerator != null && e._interfaceEnumerator.MoveNext()) { e.Current = e._interfaceEnumerator.Current; return(true); } return(false); }
private static bool BuilderMoveNext(ref RuneEnumerator e) { TryReturnFromChunk: if (e._spanEnumerator.MoveNext()) { e.Current = e._spanEnumerator.Current; return(true); } if (e._builderEnumerator.MoveNext()) { var chunkSpan = e._builderEnumerator.Current.Span; e._spanEnumerator = chunkSpan.EnumerateRunes(); goto TryReturnFromChunk; } return(false); }