Package it.unimi.dsi.bits
package it.unimi.dsi.bits
Main classes manipulating bits
The BitVector
interface is the basis for bit vector manipulation.
The LongArrayBitVector
implementation is its main implementation.
The idea is to offer an efficent but easy-to-use bit-vector class by allowing access under many different views. For instance,
a bit vector can be seen as a LongBigList
of integers of fixed width. Or as a sorted set of
integers, where the positions of the bits set to one represent elements.
Whenever another object has to be turned into a bit string, you can provide a
TransformationStrategy
to that purpose. The static container
TransformationStrategies
has several ready-made transformations,
and some useful wrapping methods.
-
ClassDescriptionAn abstract implementation of a
BitVector
.A list-of-integers view of a bit vector.A view of a bit vector as a sorted set of long integers.A subvector of a given bit vector, specified by an initial and a final bit.A vector of bits, a.k.a. bit sequence, bit string, binary word, etc.A class providing static methods and objects that do useful things with bit vectors.A boolean-list based implementation ofBitVector
.All-purpose optimised bit-fiddling static-method container class.A transformation strategy mapping strings to their Hu-Tucker encoding.A bit vector implementation based on arrays of longs.A list-of-integers view of a bit vector.A bit vector implementation based on a big arrays of longs.A list-of-integers view of a bit vector.A transformation strategy mapping strings using a prefix-free encoder.A class providing static methods and objects that do useful things with transformation strategies.A generic transformation from objects of a given type to bit vector.