public ReadableBufferReader(ReadCursor start, ReadCursor end) : this() { _end = false; _index = 0; _consumedBytes = 0; _enumerator = new BufferEnumerator(start, end); _currentSpan = default; MoveNext(); }
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); }