public async Task <bool> Eof() { if (Buffer.Any()) { return(Buffer.Peek() !.Equals(Sentinel)); } if (await SourceEnumerator.MoveNextAsync()) { if (SourceEnumerator.Current !.Equals(Sentinel)) { return(true); } PutBack(SourceEnumerator.Current); return(false); } return(true); }
public bool Eof() { if (Buffer.Any()) { return(false); } if (SourceEnumerator.MoveNext()) { if (SourceEnumerator.Current !.Equals(Sentinel)) { return(true); } PutBack(SourceEnumerator.Current); return(false); } return(true); }
protected async IAsyncEnumerable <T> Stream() { while (Buffer.Any() || await SourceEnumerator.MoveNextAsync()) { if (Buffer.Any()) { while (Buffer.Any()) { yield return(Buffer.Pop()); } } else { yield return(SourceEnumerator.Current); } } }
protected IEnumerable <T> Stream() { while (Buffer.Any() || SourceEnumerator.MoveNext()) { if (Buffer.Any()) { while (Buffer.Any()) { yield return(Buffer.Pop()); } } else { yield return(SourceEnumerator.Current); } } }