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 );
}else{
d_sygus_tdb = NULL;
}
-
- d_quant_attr = new quantifiers::QuantAttributes( this );
if( options::instPropagate() ){
// notice that this option is incompatible with options::qcfAllConflict()
#include <iostream>
#include <map>
+#include <memory>
#include <unordered_map>
#include "context/cdchunk_list.h"
/** 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 */
/** 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 */