summaryrefslogtreecommitdiff
path: root/src/expr/expr_manager_template.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2012-07-16 15:53:22 +0000
committerMorgan Deters <mdeters@gmail.com>2012-07-16 15:53:22 +0000
commit36615c5e7332e26645b33ce9b6bab25439a5108e (patch)
tree166efefced107009f4a68ff3d0c6623540dfa435 /src/expr/expr_manager_template.h
parent25396f93b7df85c80a39ed207483e28a8c86ff26 (diff)
Support for having two SmtEngines with the same ExprManager.
Basically, this involves creating a separate StatisticsRegistry for the ExprManager and for the SmtEngine. Otherwise, theories register the same statistic twice. This is a larger problem, though, for creating multiple instances of theories, and that is unaddressed. Still, separating out the expr statistics into a separate registry is probably a good idea, since the expr package is somewhat separate anyway (and in the short term it allows two SmtEngines to co-exist).
Diffstat (limited to 'src/expr/expr_manager_template.h')
-rw-r--r--src/expr/expr_manager_template.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/expr/expr_manager_template.h b/src/expr/expr_manager_template.h
index 9d0b8d34a..fdc1e1159 100644
--- a/src/expr/expr_manager_template.h
+++ b/src/expr/expr_manager_template.h
@@ -27,6 +27,7 @@
#include "expr/type.h"
#include "expr/expr.h"
#include "util/subrange_bound.h"
+#include "util/stats.h"
${includes}
@@ -34,7 +35,7 @@ ${includes}
// compiler directs the user to the template file instead of the
// generated one. We don't want the user to modify the generated one,
// since it'll get overwritten on a later build.
-#line 38 "${template}"
+#line 39 "${template}"
namespace CVC4 {
@@ -64,7 +65,7 @@ private:
NodeManager* d_nodeManager;
/** Counts of expressions and variables created of a given kind */
- IntStat* d_exprStatisticsVars[LAST_TYPE + 1];
+ IntStat* d_exprStatisticsVars[LAST_TYPE];
IntStat* d_exprStatistics[kind::LAST_KIND];
/**
@@ -450,6 +451,9 @@ public:
Expr mkVar(const std::string& name, Type type);
Expr mkVar(Type type);
+ /** Get a reference to the statistics registry for this ExprManager */
+ StatisticsRegistry* getStatisticsRegistry() const throw();
+
/** Export an expr to a different ExprManager */
//static Expr exportExpr(const Expr& e, ExprManager* em);
/** Export a type to a different ExprManager */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback