package cursor import ( "io" ) // BufferedReaderAt uses a buffer to supplement an io.Reader // with limited backward seeking. type BufferedReaderAt struct{} func NewBufferedReaderAt(r io.Reader, minBuffer uint64) *BufferedReaderAt { return nil } // ReadAt reads bytes from the underlying reader. If the offset is after // the end of the buffer, ReadAt will first read and ignore bytes from the // underlying reader until it reaches the offset. If the offset is // before the start of the buffer, ReadAt will return an error. // // If your parser needs unlimited lookahead, you should probably // just read the whole input into a slice and use BytesCursor. func (b *BufferedReaderAt) ReadAt(dst []byte, offset int64) (int, error) { return 0, nil }