summaryrefslogtreecommitdiff
path: root/src/theory/valuation.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2011-02-26 21:24:18 +0000
committerMorgan Deters <mdeters@gmail.com>2011-02-26 21:24:18 +0000
commitedf6aaa87da179948e6b233d16fa37d2aea58bbb (patch)
treefc5429ce891f579b6e5daedd52e423c13d4f4ec8 /src/theory/valuation.h
parent5c9af4e1382d32352aae7f8c31795831882931b2 (diff)
Merge from theory-break-dependences branch to break Theory and TheoryEngine dependences; now, if you touch theory_engine.h, only a few things in theory need be recompiled (TheoryEngine, SharedTermManager, .... but no theory implementations), along with the PropEngine and SmtEngine. If you touch a specific theory's .h file, only that theory must be recompiled (along with the TheoryEngine, since it uses traits, and SmtEngine, since it tells the TheoryEngine which theory implementations to use).
Diffstat (limited to 'src/theory/valuation.h')
-rw-r--r--src/theory/valuation.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/theory/valuation.h b/src/theory/valuation.h
new file mode 100644
index 000000000..2d38c29cd
--- /dev/null
+++ b/src/theory/valuation.h
@@ -0,0 +1,48 @@
+/********************* */
+/*! \file valuation.h
+ ** \verbatim
+ ** Original author: mdeters
+ ** Major contributors: none
+ ** Minor contributors (to current version): none
+ ** This file is part of the CVC4 prototype.
+ ** Copyright (c) 2009, 2010 The Analysis of Computer Systems Group (ACSys)
+ ** Courant Institute of Mathematical Sciences
+ ** New York University
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.\endverbatim
+ **
+ ** \brief A "valuation" proxy for TheoryEngine
+ **
+ ** A "valuation" proxy for TheoryEngine. This class breaks the dependence
+ ** of theories' getValue() implementations on TheoryEngine. getValue()
+ ** takes a Valuation, which delegates to TheoryEngine.
+ **/
+
+#include "cvc4_private.h"
+
+#ifndef __CVC4__THEORY__VALUATION_H
+#define __CVC4__THEORY__VALUATION_H
+
+#include "expr/node.h"
+
+namespace CVC4 {
+
+class TheoryEngine;
+
+namespace theory {
+
+class Valuation {
+ TheoryEngine* d_engine;
+public:
+ Valuation(TheoryEngine* engine) :
+ d_engine(engine) {
+ }
+
+ Node getValue(TNode n);
+
+};/* class Valuation */
+
+}/* CVC4::theory namespace */
+}/* CVC4 namespace */
+
+#endif /* __CVC4__THEORY__VALUATION_H */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback