コード例 #1
0
 public ReadableBufferReader(ReadCursor start, ReadCursor end) : this()
 {
     _end           = false;
     _index         = 0;
     _consumedBytes = 0;
     _enumerator    = new BufferEnumerator(start, end);
     _currentSpan   = default;
     MoveNext();
 }
コード例 #2
0
        public static int Seek(ReadCursor begin, ReadCursor end, out ReadCursor result, byte byte0, byte byte1, byte byte2)
        {
            var enumerator = new BufferEnumerator(begin, end);

            while (enumerator.MoveNext())
            {
                var span  = enumerator.Current.Span;
                int index = span.IndexOfAny(byte0, byte1, byte2);

                if (index != -1)
                {
                    result = enumerator.CreateCursor(index);
                    return(span[index]);
                }
            }

            result = end;
            return(-1);
        }