Package it.unimi.dsi.bits

Main classes manipulating bits.

See:
          Description

Interface Summary
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 Summary
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.
Utf16TransformationStrategy Deprecated. Use TransformationStrategies.utf16() and TransformationStrategies.prefixFreeUtf16().
 

Package it.unimi.dsi.bits Description

Main classes manipulating bits.

Package Specification

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.