GF2++
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 Cgf2::BitGauss< Word >The BitGauss class is a Gaussian elimination solver for systems of linear equations over GF(2).
It solves systems of the form \(A \cdot x = b\) where A is a square matrix, x is a vector of unknowns, and b is the known right-hand side vector
 Cgf2::BitLU< Word >The BitLU class provides the LU decomposition for bit-matrices
 Cgf2::BitMat< Word >A dynamically-sized matrix over GF(2) stored as a vector of bit-vectors representing the rows of the matrix. The row elements are compactly stored in standard vectors of primitive unsigned words whose type is given by the template parameter Word
 Cgf2::BitPoly< Word >A BitPoly represents a polynomial over GF(2) where we store the polynomial coefficients in a bit-vector.
The template parameter Word sets the unsigned word type used by the BitVec that stores the coefficients
 Cgf2::BitRef< Store >A BitRef is a proxy class to reference a single bit in a bit-store
 Cgf2::BitsIter< Store, is_const >Two iterators over all the bits in a bit-store — one const and the other non-const.
The BitStore::bits() & BitStore::bits() const methods return the appropriate iterator type
 Cgf2::BitStore< Store >The base class for the vector-like types in the gf2 library: BitSet, BitVec, and BitSpan
The template parameter Store is a derived class — we use the CRTP idiom for compile time polymorphism. The Store subclass provides an implementation for a small number of required methods and in return, inherit the many methods provided by this base class
 Cgf2::BitStore< BitSet< N, usize > >
 Cgf2::BitSet< N, Word >A fixed-size vector over GF(2) with N bit elements compactly stored in a standard vector of primitive unsigned words whose type is given by the template parameter Word. The elements in a bitset are initially all set to 0
 Cgf2::BitStore< BitSpan< Word > >
 Cgf2::BitSpan< Word >A bit_span is a non-owning view of contiguous bits stored in some underlying store of unsigned Words.
It inherits from gf2::BitStore, which provides a rich API for manipulating the bits in the span
 Cgf2::BitStore< BitVec< usize > >
 Cgf2::BitVec< Word >A dynamically-sized vector over GF(2) with bit elements compactly stored in a standard vector of primitive unsigned words whose type is given by the template parameter Word
 Cgf2::BitStore< BitVec< Word > >
 Cgf2::BitVec< Word >
 Cgf2::BitVec< usize >
 Cstd::formatter< gf2::BitMat< Word > >Specialise std::formatter for the gf2::BitMat<Word> type
 Cstd::formatter< gf2::BitPoly< Word > >Specialise std::formatter for our gf2::BitPoly<Word> type
 Cstd::formatter< gf2::BitRef< Store > >Specialize std::formatter for BitRef<Store>
 Cstd::formatter< gf2::BitStore< Store > >Specialises std::formatter for our BitStore<word_type> type
 Cgf2::SetBitsIter< Store >An iterator over the index locations of the set bits in a bit-store.
You get this iterator by calling the BitStore::set_bit_indices() method
 Cgf2::UnsetBitsIter< Store >An iterator over the index locations of the unset bits in a bit-store.
You get this iterator by calling the BitStore::unset_bit_indices() method
 Cgf2::WordsIter< Store >An iterator over the "words" underlying a bit-store.
You get this iterator by calling the BitStore::store_words() method