Interface | Description |
---|---|
BitVector |
A vector of bits, a.k.a. bit sequence, bit string, binary word, etc.
|
TransformationStrategy<T> |
A generic transformation from objects of a given type to bit vector.
|
Class | Description |
---|---|
AbstractBitVector |
An abstract implementation of a
BitVector . |
AbstractBitVector.LongBigListView |
A list-of-integers view of a bit vector.
|
AbstractBitVector.LongSetView |
An integer sorted set view of a bit vector.
|
AbstractBitVector.SubBitVector |
A subvector of a given bit vector, specified by an initial and a final bit.
|
BitVectors |
A class providing static methods and objects that do useful things with bit vectors.
|
BooleanListBitVector |
A boolean-list based implementation of
BitVector . |
Fast |
All-purpose optimised bit-fiddling static-method container class.
|
HuTuckerTransformationStrategy |
A transformation strategy mapping strings to their Hu-Tucker encoding.
|
LongArrayBitVector |
A bit vector implementation based on arrays of longs.
|
LongArrayBitVector.LongBigListView |
A list-of-integers view of a bit vector.
|
PrefixCoderTransformationStrategy |
A transformation strategy mapping strings using a prefix-free encoder.
|
TransformationStrategies |
A class providing static methods and objects that do useful things with transformation strategies.
|
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.
Warning: implementing all features of LongArrayBitVector
has not been easy. There may be bugs.