| bitpage.rs |
Stores a page of bits, used inside of bitset's. |
26244 |
- |
| bitset.rs |
A fast, efficient, sparse, & ordered unsigned integer (`u32`) bit set.
There are a couple of differences with [`super::IntSet`]:
- This set is not invertible and can only record the set of integers which are members.
- This set works only with `u32` values, unlike [`super::IntSet`] which supports custom integer types.
When dealing with only `u32`'s and invertibility is not needed then this set is slightly faster
than the more generic [`super::IntSet`].
The bitset is implemented using fixed size pages which allows it to compactly
represent sparse membership. However, the set excels when set members are typically
clustered together. For example when representing glyph id or unicode codepoint values
in a font.
When constructing a new [`U32Set`] from an existing list of integer values the most efficient
way to create the set is to initialize it from a sorted list of values via the extend() method. |
50254 |
- |
| input_bit_stream.rs |
Reads individual bits from a array of bytes. |
9820 |
- |
| mod.rs |
A fast, efficient, sparse, & ordered unsigned integer (u32) bit set which is invertible.
The bitset is implemented using fixed size pages which allows it to compactly
represent sparse membership. However, the set excels when set members are typically
clustered together. For example when representing glyph id or unicode codepoint values
in a font.
The set can have inclusive (the set of integers which are members) or
exclusive (the set of integers which are not members) membership. The
exclusive/inverted version of the set is useful for patterns such as
"keep all codepoints except for {x, y, z, ...}".
When constructing a new [`IntSet`] from an existing lists of integer values the most efficient
way to create the set is to initialize it from a sorted (ascending) iterator of the values.
For a type to be stored in the [`IntSet`] it must implement the [`Domain`] trait, and all
unique values of that type must be able to be mapped to and from a unique `u32` value.
See the [`Domain`] trait for more information. |
89560 |
- |
| output_bit_stream.rs |
Writes individual bits to a vector of bytes. |
4652 |
- |
| sparse_bit_set.rs |
Provides serialization of [`IntSet`]'s to a highly compact bitset format as defined in the
IFT specification:
<https://w3c.github.io/IFT/Overview.html#sparse-bit-set-decoding> |
32886 |
- |