コード例 #1
0
 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);
 }
コード例 #2
0
ファイル: StreamWrapper.cs プロジェクト: joshwyant/cscc
 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);
 }
コード例 #3
0
 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);
         }
     }
 }
コード例 #4
0
ファイル: StreamWrapper.cs プロジェクト: joshwyant/cscc
 protected IEnumerable <T> Stream()
 {
     while (Buffer.Any() || SourceEnumerator.MoveNext())
     {
         if (Buffer.Any())
         {
             while (Buffer.Any())
             {
                 yield return(Buffer.Pop());
             }
         }
         else
         {
             yield return(SourceEnumerator.Current);
         }
     }
 }