C(++)ECCO
C++ Error Control COding: a header-only library for ECC simulations and experiments, modeling complete coding systems across arbitrary finite fields and complex inter-field relationships - Christian Senger <senger@inue.uni-stuttgart.de>
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 CCECCO::details::BaseTag base for the CRTP-protection idiom
 CCECCO::Trellis< T >::BCJR_WorkspaceWorkspace for binary BCJR forward-backward decoding
 Cstd::bool_constant
 CCECCO::details::Cache< ENTRIES >Heterogeneous cache indexed by entry ID
 CCECCO::details::CacheEntry< ID, T >Cache entry specification
 CCECCO::Code< T >
 CCECCO::CodewordIterator< T >
 CCECCO::details::collect_subfields< F >All subfields of F (including F itself), as a type_list
 CCECCO::details::collect_subfields< Ext< B, modulus, mode > >
 CCECCO::details::collect_subfields< Fp< p > >
 CCECCO::details::collect_subfields< Iso< MAIN, OTHERS... > >
 CCECCO::details::contains< T, List >Check if a type exists in a type_list
 CCECCO::Dec< T >
 CCECCO::details::degree_over_prime< T >Total extension degree of T over its prime field
 CCECCO::details::degree_over_prime< Ext< B, modulus, mode > >
 CCECCO::details::degree_over_prime< Fp< p > >
 CCECCO::details::degree_over_prime< Iso< MAIN, OTHERS... > >
 CCECCO::details::Edge< T >Edge between two adjacent trellis layers
 CCECCO::Embedding< SUBFIELD, SUPERFIELD >Functor representing the field embedding φ: SUBFIELD → SUPERFIELD, with reverse lookup
 CCECCO::Enc< T >
 CCECCO::Encinv< T >
 Cstd::exception
 Cstd::false_type
 CCECCO::details::FiniteFieldHasher< T >
 CInfInt
 CInfIntHasher
 CCECCO::details::intersect_type_lists< List1, List2 >Intersection of two type_lists
 CCECCO::details::intersect_type_lists< type_list< Types1... >, type_list< Types2... > >
 CCECCO::details::iso_info< T >Detect whether T is an Iso and expose its components
 CCECCO::details::iso_info< Iso< MAIN, OTHERS... > >Specialization of iso_info for Iso<MAIN, OTHERS...>
 CCECCO::Isomorphism< A, B >Functor representing the field isomorphism φ: A → B between two same-size finite fields
 CCECCO::details::IsomorphismPair< A, B >Shared static storage of the forward and reverse maps for the isomorphism A ↔ B
 CCECCO::details::largest_common_subfield< F, G >Largest field that appears as a subfield of both F and G
 CCECCO::details::largest_field_in_list< List >Find the largest field (by get_size()) in a type_list
 CCECCO::details::largest_field_in_list< type_list< T > >
 CCECCO::details::largest_field_in_list< type_list< T1, T2, Rest... > >
 CCECCO::details::Lut1D< LabelType, FieldSize >1D lookup table for unary field operations (negation, inversion, order)
 CCECCO::details::Lut2D< LabelType, FieldSize >2D lookup table for commutative binary operations, optionally compressed
 CCECCO::details::Lut2Dcoeff< LabelType, ExtensionDegree, FieldSize >Lookup table mapping each extension-field label to its base-field coefficient vector
 CCECCO::details::LutHolder< LutType, ProviderLutType, P, F, mode >Holds a LUT generated by F(P); P provides a dependency table
 CCECCO::details::LutHolder< LutType, ProviderLutType, P, F, LutMode::CompileTime >CompileTime specialisation: table baked into the binary
 CCECCO::details::LutHolder< LutType, ProviderLutType, P, F, LutMode::RunTime >RunTime specialisation: thread-safe lazy initialisation, dependency resolved on first access
 CCECCO::details::LutHolderNoProvider< LutType, F, mode >Holds a LUT generated by F() (no dependencies); selects compile-time or lazy storage
 CCECCO::details::LutHolderNoProvider< LutType, F, LutMode::CompileTime >CompileTime specialisation: table is a constexpr static member
 CCECCO::details::LutHolderNoProvider< LutType, F, LutMode::RunTime >RunTime specialisation: thread-safe lazy initialisation on first access
 CCECCO::Matrix< T >Dense m Ɨ n matrix over a CECCO::ComponentType
 CCECCO::details::NonCopyableMixin that deletes the copy operations and defaults the move operations
 CCECCO::details::OnceCache< T >Thread-safe single-value cache
 CCECCO::Polynomial< T >Univariate polynomial p(x) = aā‚€ + a₁x + … + aā‚™xⁿ over a CECCO::ComponentType
 CCECCO::RNGThread-local random number generator with shared seeding policy
 CCECCO::Trellis< T >Trellis with field-labelled edges between consecutive layers
 Cstd::true_type
 CCECCO::details::type_list< Types >Compile-time type list utility for subfield calculations
 CCECCO::details::union_all_subfields< Types >
 CCECCO::details::union_all_subfields< T >
 CCECCO::details::union_all_subfields< T1, T2, Rest... >
 CCECCO::details::union_all_subfields<>
 CCECCO::details::union_type_lists< List1, List2 >Union of two type_lists (removes duplicates)
 CCECCO::details::union_type_lists< type_list< Types1... >, type_list< Types2... > >
 CCECCO::Vector< T >Vector v = (vā‚€, v₁, …, vₙ₋₁) over a CECCO::ComponentType
 CCECCO::details::Vertex< T >Vertex in one trellis layer
 CCECCO::Trellis< T >::Viterbi_Workspace< cost_t >Workspace for Viterbi decoding on this trellis