summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/theory/quantifiers_engine.cpp36
-rw-r--r--src/theory/quantifiers_engine.h7
2 files changed, 23 insertions, 20 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp
index 0e10dfe54..b0f548625 100644
--- a/src/theory/quantifiers_engine.cpp
+++ b/src/theory/quantifiers_engine.cpp
@@ -61,22 +61,24 @@ using namespace CVC4::context;
using namespace CVC4::theory;
using namespace CVC4::theory::inst;
-QuantifiersEngine::QuantifiersEngine(context::Context* c, context::UserContext* u, TheoryEngine* te):
- d_te( te ),
- d_conflict_c(c, false),
- //d_quants(u),
- d_quants_red(u),
- d_lemmas_produced_c(u),
- d_skolemized(u),
- d_ierCounter_c(c),
- //d_ierCounter(c),
- //d_ierCounter_lc(c),
- //d_ierCounterLastLc(c),
- d_presolve(u, true),
- d_presolve_in(u),
- d_presolve_cache(u),
- d_presolve_cache_wq(u),
- d_presolve_cache_wic(u){
+QuantifiersEngine::QuantifiersEngine(context::Context* c,
+ context::UserContext* u, TheoryEngine* te)
+ : d_te(te),
+ d_conflict_c(c, false),
+ // d_quants(u),
+ d_quants_red(u),
+ d_lemmas_produced_c(u),
+ d_skolemized(u),
+ d_quant_attr(new quantifiers::QuantAttributes(this)),
+ d_ierCounter_c(c),
+ // d_ierCounter(c),
+ // d_ierCounter_lc(c),
+ // d_ierCounterLastLc(c),
+ d_presolve(u, true),
+ d_presolve_in(u),
+ d_presolve_cache(u),
+ d_presolve_cache_wq(u),
+ d_presolve_cache_wic(u) {
//utilities
d_eq_query = new quantifiers::EqualityQueryQuantifiersEngine( c, this );
d_util.push_back( d_eq_query );
@@ -91,8 +93,6 @@ QuantifiersEngine::QuantifiersEngine(context::Context* c, context::UserContext*
}else{
d_sygus_tdb = NULL;
}
-
- d_quant_attr = new quantifiers::QuantAttributes( this );
if( options::instPropagate() ){
// notice that this option is incompatible with options::qcfAllConflict()
diff --git a/src/theory/quantifiers_engine.h b/src/theory/quantifiers_engine.h
index c72038659..b1608e497 100644
--- a/src/theory/quantifiers_engine.h
+++ b/src/theory/quantifiers_engine.h
@@ -19,6 +19,7 @@
#include <iostream>
#include <map>
+#include <memory>
#include <unordered_map>
#include "context/cdchunk_list.h"
@@ -200,7 +201,7 @@ private:
/** term utilities */
quantifiers::TermUtil* d_term_util;
/** quantifiers attributes */
- quantifiers::QuantAttributes* d_quant_attr;
+ std::unique_ptr<quantifiers::QuantAttributes> d_quant_attr;
/** all triggers will be stored in this trie */
inst::TriggerTrie* d_tr_trie;
/** extended model object */
@@ -379,7 +380,9 @@ public:
/** get term utilities */
quantifiers::TermUtil* getTermUtil() { return d_term_util; }
/** get quantifiers attributes */
- quantifiers::QuantAttributes* getQuantAttributes() { return d_quant_attr; }
+ quantifiers::QuantAttributes* getQuantAttributes() {
+ return d_quant_attr.get();
+ }
/** get trigger database */
inst::TriggerTrie* getTriggerDatabase() { return d_tr_trie; }
/** add term to database */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback