SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
GBModuleState.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace smtrat
4 {
5  /**
6  * A class to save the current state of a GBModule.
7  * Used for backtracking-support
8  */
9  template<typename Settings>
11  {
12  public:
14  mRewrites()
15  {
16 
17  }
18 
19  GBModuleState( const typename Settings::Groebner& basisCalculation, const std::map<carl::Variable, std::pair<TermT, carl::BitVector> >& rewrites ) :
20  mBasis( basisCalculation ), mRewrites(rewrites)
21  {
22  }
23 
24  const typename Settings::Groebner& getBasis( ) const
25  {
26  return mBasis;
27  }
28 
29  const std::map<carl::Variable, std::pair<TermT, carl::BitVector> >& getRewriteRules() const
30  {
31  return mRewrites;
32  }
33 
34  protected:
35  ///The state of the basis
36  const typename Settings::Groebner mBasis;
37  const std::map<carl::Variable, std::pair<TermT, carl::BitVector> > mRewrites;
38  };
39 }
A class to save the current state of a GBModule.
Definition: GBModuleState.h:11
const std::map< carl::Variable, std::pair< TermT, carl::BitVector > > & getRewriteRules() const
Definition: GBModuleState.h:29
GBModuleState(const typename Settings::Groebner &basisCalculation, const std::map< carl::Variable, std::pair< TermT, carl::BitVector > > &rewrites)
Definition: GBModuleState.h:19
const Settings::Groebner & getBasis() const
Definition: GBModuleState.h:24
const Settings::Groebner mBasis
The state of the basis.
Definition: GBModuleState.h:36
const std::map< carl::Variable, std::pair< TermT, carl::BitVector > > mRewrites
Definition: GBModuleState.h:37
Class to create the formulas for axioms.