mirror of
https://github.com/wader/fq.git
synced 2024-11-25 14:12:13 +03:00
bitio: More doc cleanup
This commit is contained in:
parent
d1c75543ed
commit
82aeb35591
@ -1,18 +0,0 @@
|
||||
The bitio package tries to mimic the standard library packages io and bytes as much as possible.
|
||||
|
||||
- bitio.Buffer same as bytes.Buffer
|
||||
- bitio.IOBitReadSeeker is a bitio.ReaderAtSeeker that from a io.ReadSeeker
|
||||
- bitio.IOBitWriter a bitio.BitWriter that write bytes to a io.Writer, use Flush() to write possible unaligned byte
|
||||
- bitio.IOReader is a io.Reader that reads bytes from a bit reader, will zero pad on unaligned byte eof
|
||||
- bitio.IOReadSeeker is a io.ReadSeeker that read/seek bytes in a bit stream, will zero pad on unaligned - bitio.NewBitReader same as bytes.NewReader
|
||||
- bitio.LimitReader same as io.LimitReader
|
||||
- bitio.MultiReader same as io.MultiReader
|
||||
- bitio.SectionReader same as io.SectionReader
|
||||
- bitio.Copy* same as io.Copy*
|
||||
- bitio.ReadFull same as io.ReadFull
|
||||
|
||||
TODO:
|
||||
- bitio.IOBitReader bitio.Reader that reads from a io.Reader
|
||||
- bitio.IOBitWriteSeeker bitio.BitWriteSeeker that writes to a io.WriteSeeker
|
||||
- bitio.CopyN
|
||||
- speed up read by using a cache somehow ([]byte or just a uint64?)
|
34
pkg/bitio/doc.go
Normal file
34
pkg/bitio/doc.go
Normal file
@ -0,0 +1,34 @@
|
||||
// Package bitio tries to mimic the standard library packages io and bytes but for bits.
|
||||
//
|
||||
// - bitio.Buffer same as bytes.Buffer
|
||||
//
|
||||
// - bitio.IOBitReadSeeker is a bitio.ReaderAtSeeker that reads from a io.ReadSeeker
|
||||
//
|
||||
// - bitio.IOBitWriter a bitio.BitWriter that writes to a io.Writer, use Flush() to write possible zero padded unaligned byte
|
||||
//
|
||||
// - bitio.IOReader is a io.Reader that reads bytes from a bitio.Reader, will zero pad unaligned byte at EOF
|
||||
//
|
||||
// - bitio.IOReadSeeker is a io.ReadSeeker that reads from a bitio.ReadSeeker, will zero pad unaligned byte at EOF
|
||||
//
|
||||
// - bitio.NewBitReader same as bytes.NewReader
|
||||
//
|
||||
// - bitio.LimitReader same as io.LimitReader
|
||||
//
|
||||
// - bitio.MultiReader same as io.MultiReader
|
||||
//
|
||||
// - bitio.SectionReader same as io.SectionReader
|
||||
//
|
||||
// - bitio.Copy* same as io.Copy*
|
||||
//
|
||||
// - bitio.ReadFull same as io.ReadFull
|
||||
//
|
||||
// TODO:
|
||||
//
|
||||
// - bitio.IOBitReader bitio.Reader that reads from a io.Reader
|
||||
//
|
||||
// - bitio.IOBitWriteSeeker bitio.BitWriteSeeker that writes to a io.WriteSeeker
|
||||
//
|
||||
// - bitio.CopyN
|
||||
//
|
||||
// - Speed up read by using a cache somehow ([]byte or just a uint64?)
|
||||
package bitio
|
@ -5,7 +5,7 @@ import (
|
||||
"io"
|
||||
)
|
||||
|
||||
// IOBitReadSeeker is a bitio.BitReadAtSeeker reading from a io.ReadSeeker
|
||||
// IOBitReadSeeker is a bitio.ReadAtSeeker reading from a io.ReadSeeker
|
||||
type IOBitReadSeeker struct {
|
||||
bitPos int64
|
||||
rs io.ReadSeeker
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"io"
|
||||
)
|
||||
|
||||
// IOBitWriter is a bitio.BitWriter that writes to a io.Writer
|
||||
// IOBitWriter is a bitio.Writer that writes to a io.Writer
|
||||
// Use Flush to write possible unaligned byte zero bit padded.
|
||||
type IOBitWriter struct {
|
||||
w io.Writer
|
||||
|
@ -1,6 +1,6 @@
|
||||
package bitio
|
||||
|
||||
// IOReadSeeker is a io.ReadSeeker that reads and seeks from a bitio.BitReadSeeker
|
||||
// IOReadSeeker is a io.ReadSeeker that reads from a bitio.ReadSeeker
|
||||
// Unaligned byte at EOF will be zero bit padded
|
||||
type IOReadSeeker struct {
|
||||
IOReader
|
||||
|
@ -90,6 +90,8 @@ func Read64(buf []byte, firstBit int64, nBits int64) uint64 {
|
||||
return n
|
||||
}
|
||||
|
||||
// Write64 writes nBits bits large unsigned integer to buf starting from firstBit.
|
||||
// Integer is written most significant bit first.
|
||||
func Write64(v uint64, nBits int64, buf []byte, firstBit int64) {
|
||||
if nBits < 0 || nBits > 64 {
|
||||
panic(fmt.Sprintf("nBits must be 0-64 (%d)", nBits))
|
||||
|
Loading…
Reference in New Issue
Block a user