# Functions
BytesToBools efficiently populates a slice of booleans from an input bitmap.
No description provided by the author
No description provided by the author
NewBitBlockCounter returns a BitBlockCounter for the passed bitmap starting at startOffset of length nbits.
No description provided by the author
NewBitReader takes in a reader that implements io.Reader, io.ReaderAt and io.Seeker interfaces and returns a BitReader for use with various bit level manipulations.
NewBitWriter initializes a new bit writer to write to the passed in interface using WriteAt to write the appropriate offsets and values.
NewFirstTimeBitmapWriter creates a bitmap writer that might clobber any bit values following the bits written to the bitmap, as such it is faster than the bitmapwriter that is created with NewBitmapWriter.
NewOptionalBitBlockCounter constructs and returns a new bit block counter that can properly handle the case when a bitmap is null, if it is guaranteed that the the bitmap is not nil, then prefer NewBitBlockCounter here.
No description provided by the author
No description provided by the author
NewWriterAtBuffer returns an object which fulfills the io.WriterAt interface by taking ownership of the passed in slice.
VisitBitBlocks is a utility for easily iterating through the blocks of bits in a bitmap, calling the appropriate visitValid/visitInvalid function as we iterate through the bits.
# Constants
Max and Min constants for the IndexType.
No description provided by the author
Max and Min constants for the IndexType.
# Structs
BitBlockCount is returned by the various bit block counter utilities in order to return a length of bits and the population count of that slice of bits.
BitBlockCounter is a utility for grabbing chunks of a bitmap at a time and efficiently counting the number of bits which are 1.
BitReader implements functionality for reading bits or bytes buffering up to a uint64 at a time from the reader in order to improve efficiency.
BitWriter is a utility for writing values of specific bit widths to a stream using a uint64 as a buffer to build up between flushing for efficiency.
OptionalBitBlockCounter is a useful counter to iterate through a possibly non-existent validity bitmap to allow us to write one code path for both the with-nulls and no-nulls cases without giving up a lot of performance.
No description provided by the author
No description provided by the author
TellWrapper wraps any io.Writer to add a Tell function that tracks the position based on calls to Write.
WriterAtBuffer is a convenience struct for providing a WriteAt function to a byte slice for use with things that want an io.WriterAt.
# Interfaces
BitmapWriter is an interface for bitmap writers so that we can use multiple implementations or swap if necessary.
DictionaryConverter is an interface used for dealing with RLE decoding and encoding when working with dictionaries to get values from indexes.
WriteCloserTell is an interface adding a Tell function to a WriteCloser so if the underlying writer has a Close function, it is exposed and not hidden.
WriterAtWithLen is an interface for an io.WriterAt with a Len function.
WriterTell is an interface that adds a Tell function to an io.Writer.
# Type aliases
IndexType is the type we're going to use for Dictionary indexes, currently an alias to int32.