Abstract base class defining the interface for clause storage and management. More...
#include <ClauseDatabase.hpp>
Public Member Functions | |
ClauseDatabase () | |
Default Constructor. | |
virtual | ~ClauseDatabase () |
Virtual destructor to ensure proper cleanup of derived classes. | |
virtual bool | addClause (ClauseExchangePtr clause)=0 |
Add a clause to the database. | |
virtual size_t | giveSelection (std::vector< ClauseExchangePtr > &selectedCls, unsigned int literalCountLimit)=0 |
Fill the given buffer with a selection of clauses. | |
virtual void | getClauses (std::vector< ClauseExchangePtr > &v_cls)=0 |
Retrieve all clauses from the database. | |
virtual bool | getOneClause (ClauseExchangePtr &cls)=0 |
Retrieve a single clause from the database. | |
virtual size_t | getSize () const =0 |
Get the current number of clauses in the database. | |
virtual size_t | shrinkDatabase ()=0 |
Reduce the size of the database by removing some clauses. | |
virtual void | clearDatabase ()=0 |
Remove all clauses from the database. | |
Abstract base class defining the interface for clause storage and management.
This class provides a common interface for different implementations of clause databases. It allows for adding, retrieving, and managing clauses using a specific logic.
|
pure virtual |
Add a clause to the database.
clause | Shared pointer to the clause to be added. |
Implemented in ClauseDatabaseBufferPerEntity, ClauseDatabaseMallob, ClauseDatabasePerSize, and ClauseDatabaseSingleBuffer.
|
pure virtual |
Remove all clauses from the database.
Implemented in ClauseDatabaseBufferPerEntity, ClauseDatabaseMallob, ClauseDatabasePerSize, and ClauseDatabaseSingleBuffer.
|
pure virtual |
Retrieve all clauses from the database.
v_cls | Vector to be filled with all clauses in the database. |
Implemented in ClauseDatabaseBufferPerEntity, ClauseDatabaseMallob, ClauseDatabasePerSize, and ClauseDatabaseSingleBuffer.
|
pure virtual |
Retrieve a single clause from the database.
cls | Reference to a shared pointer where the selected clause will be stored. |
Implemented in ClauseDatabaseBufferPerEntity, ClauseDatabaseMallob, ClauseDatabasePerSize, and ClauseDatabaseSingleBuffer.
|
pure virtual |
Get the current number of clauses in the database.
Implemented in ClauseDatabaseBufferPerEntity, ClauseDatabaseMallob, ClauseDatabasePerSize, and ClauseDatabaseSingleBuffer.
|
pure virtual |
Fill the given buffer with a selection of clauses.
selectedCls | Vector to be filled with selected clauses. |
literalCountLimit | The maximum number of literals to be selected. |
Implemented in ClauseDatabaseBufferPerEntity, ClauseDatabaseMallob, ClauseDatabasePerSize, and ClauseDatabaseSingleBuffer.
|
pure virtual |
Reduce the size of the database by removing some clauses.
Implemented in ClauseDatabaseBufferPerEntity, ClauseDatabaseMallob, ClauseDatabasePerSize, and ClauseDatabaseSingleBuffer.