Removed SliceCursor
This commit is contained in:
@ -53,40 +53,6 @@ func (s SliceReaderAt[T]) ReadAt(dst []T, off int64) (n int, err error) {
|
||||
return n, err
|
||||
}
|
||||
|
||||
type SliceCursor[Datum any] struct {
|
||||
data []Datum
|
||||
offset uint64
|
||||
}
|
||||
|
||||
func NewSlice[Datum any](data []Datum) SliceCursor[Datum] {
|
||||
return SliceCursor[Datum]{
|
||||
data: data,
|
||||
offset: 0,
|
||||
}
|
||||
}
|
||||
|
||||
func (sc SliceCursor[Datum]) Read(dst []Datum) (n uint64, next Cursor[Datum], err error) {
|
||||
if sc.offset == uint64(len(sc.data)) {
|
||||
return 0, sc, io.EOF
|
||||
}
|
||||
copied := copy(dst, sc.data[sc.offset:])
|
||||
if copied < len(dst) {
|
||||
err = io.EOF
|
||||
}
|
||||
n = uint64(copied)
|
||||
sc.offset += n
|
||||
return n, sc, err
|
||||
}
|
||||
|
||||
func (sc SliceCursor[Datum]) Pos() uint64 {
|
||||
return sc.offset
|
||||
}
|
||||
|
||||
func (sc SliceCursor[Datum]) At(pos uint64) Cursor[Datum] {
|
||||
sc.offset = pos
|
||||
return sc
|
||||
}
|
||||
|
||||
type ReaderAtCursor[T any] struct {
|
||||
r ReaderAt[T]
|
||||
pos uint64
|
||||
|
@ -100,10 +100,6 @@ func testCursor[C cursor.Cursor[byte]](t *testing.T, makeCursor func([]byte) C)
|
||||
}))
|
||||
}
|
||||
|
||||
func TestSliceCursor(t *testing.T) {
|
||||
testCursor(t, cursor.NewSlice[byte])
|
||||
}
|
||||
|
||||
func TestReaderAtCursor(t *testing.T) {
|
||||
testCursor(t, func(b []byte) cursor.ReaderAtCursor[byte] {
|
||||
return cursor.NewReaderAt(bytes.NewReader(b))
|
||||
|
Reference in New Issue
Block a user