| 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.