Painless
A framework to ease parallelization of sequential CDCL SAT solvers
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]
 CBitsetA class representing a bitset with dynamic size
 CBloomFilter
 CClauseBufferWrapper for boost::lockfree::queue to manage ClauseExchange objects
 CClauseDatabaseAbstract base class defining the interface for clause storage and management
 CClauseDatabaseBufferPerEntityA clause database that maintain separate buffers for each entity, mimicing old painless default behavior
 CClauseDatabaseMallobA clause database implementation attempting to naively mimic the Simplified Adaptive Database from Mallob (ref:https://doi.org/10.1613/jair.1.15827)
 CClauseDatabasePerSizeA clause database that organizes clauses based on their size
 CClauseDatabaseSingleBufferThis is just a ClauseDatabase wrapper around a ClauseBuufer
 CClauseExchangeRepresents an exchangeable clause with flexible array member
 CClauseUtils::ClauseExchangeEqualEquality functor for ClauseExchange objects
 CClauseUtils::ClauseExchangeHashHash functor for ClauseExchange objects
 CClauseUtils::ClauseExchangePtrEqualEquality functor for ClauseExchangePtr objects
 CClauseUtils::ClauseExchangePtrHashHash functor for ClauseExchangePtr objects
 CClauseUtils::ClauseHashHash functor for simple clauses
 CClauseMeta
 CParsers::ClauseProcessorAbstract base class for clause processors
 CParsers::RedundancyFilterFilter for removing redundant clauses
 CParsers::SBVAInitA filter for Structured BVA (Binary Variable Addition)
 CParsers::TautologyFilterFilter for removing tautological clauses. A tautological clause or simple a tautology is a clause that contains a literal and its complement, thus always satisfied
 CDataType
 Cstd::enable_shared_from_this
 CSharingEntityA base class representing entities that can exchange clauses between themselves
 CSharingStrategySharingStrategy class, inheriting from SharingEntity
 CGlobalSharingStrategyBase class for global clause sharing strategies across MPI processes
 CAllGatherSharingImplements a global sharing strategy using MPI_Allgather for clause exchange
 CGenericGlobalSharingImplements a generic global sharing strategy for clause exchange
 CMallobSharingImplements a global sharing strategy based on the Mallob algorithm
 CHordeSatSharingThis strategy is a HordeSat-like sharing strategy
 CSimpleSharingThis strategy is a simple sharing strategy
 CSolverCdclInterfaceInterface for CDCL (Conflict-Driven Clause Learning) solvers This class provides a common interface for all CDCL solvers. It inherits from SolverInterface for solving primitives and SharingEntity for sharing primitives
 CCadicalImplements the different interfaces to interact with the Cadical CDCL solver
 CGlucoseSyrupInstance of a Glucose solver
 CKissatInstance of a Kissat solver
 CKissatINCSolverInstance of a KissatINCSolver solver
 CKissatMABSolverInstance of a KissatMABSolver solver
 CLingelingInstance of a Lingeling solver
 CMapleCOMSPSSolverInstance of a MapleCOMSPS solver
 CMiniSatInstance of a Minisat solver
 Cfnv< T, Enable >Struct for Fowler-Noll-Vo parameters
 Cfnv< T, typename std::enable_if< sizeof(T)==4 >::type >Fowler-Noll-Vo hash parameters for 32 bits
 Cfnv< T, typename std::enable_if< sizeof(T)==8 >::type >Fowler-Noll-Vo hash parameters for 64 bits
 CFormulaRepresents a SAT formula with unit and non-unit clauses
 CHashMap
 CHashNode
 Cpainless::skipzero_span< T >::Iterator
 CCaDiCaL::Learner
 CCadicalImplements the different interfaces to interact with the Cadical CDCL solver
 CLocalSearchStatsLocal search statistics
 CMutexMutex class
 CPairCompareFunctor for the priority queue used in solve()
 Cparameter
 CParameters
 CPreprocessorStatsPreperocessing technique statistics
 CProofClause
 CqueuePairQueuePair struct used for the priorityQueue in solve
 CSharerA sharer is a thread responsible for executing a list of SharingStrategies
 CSharingStatisticsLocal Sharing statistics.Sharing statistics
 CGlobalSharingStatisticsStatistics of a global sharing strategy
 CSharingStrategyFactoryFactory class for creating and managing sharing strategies
 Cpainless::skipzero_span< T >A span-like container that skips zero elements when iterating
 CSolverFactoryFactory class for creating and managing SAT solvers
 CSolverInterfaceInterface for a SAT solver with standard features
 CLocalSearchInterfaceInterface for Local Search solvers
 CYalSatImplements LocalSearchInterface to interact with the YalSAT local search solver
 CPreprocessorInterfaceInterface for preprocessor algorithms in SAT solving
 CStructuredBVAStructured Binary Variable Addition (SBVA) preprocessing algorithm
 CpreprocessThe different simplification techniques implemented in PRS framework
 CSolverCdclInterfaceInterface for CDCL (Conflict-Driven Clause Learning) solvers This class provides a common interface for all CDCL solvers. It inherits from SolverInterface for solving primitives and SharingEntity for sharing primitives
 CSolvingCdclStatisticsStructure for solver statistics
 CCaDiCaL::Terminator
 CCadicalImplements the different interfaces to interact with the Cadical CDCL solver
 CThreadThread class
 Ctype_gate
 CGlucose::vec< T >
 CMapleCOMSPS::vec< T >
 CMinisat::vec< T, _Size >
 Cpainless::vector2D< T >A 2D vector implementation optimized for sparse data
 Cpainless::vector2D< int >
 CWorkingStrategyBase Interface for Working Strategies
 CPortfolioPRSAn Implementation of WorkingStrategy that mimics the strategy used in the PRS-Distributed solver from ISC24
 CPortfolioSimpleA Simple Implementation of WorkingStrategy for the portfolio parallel strategy This strategy uses the different factories SolverFactory and SharingStrategyFactory in order to instantiate the different needed components specified by the parameters
 CSequentialWorkerBasic Implementation of WorkingStrategy for a sequential execution
 Cxorgate