Merge from theory-break-dependences branch to break Theory and TheoryEngine dependenc...
[cvc5.git] / src / theory / valuation.h
1 /********************* */
2 /*! \file valuation.h
3 ** \verbatim
4 ** Original author: mdeters
5 ** Major contributors: none
6 ** Minor contributors (to current version): none
7 ** This file is part of the CVC4 prototype.
8 ** Copyright (c) 2009, 2010 The Analysis of Computer Systems Group (ACSys)
9 ** Courant Institute of Mathematical Sciences
10 ** New York University
11 ** See the file COPYING in the top-level source directory for licensing
12 ** information.\endverbatim
13 **
14 ** \brief A "valuation" proxy for TheoryEngine
15 **
16 ** A "valuation" proxy for TheoryEngine. This class breaks the dependence
17 ** of theories' getValue() implementations on TheoryEngine. getValue()
18 ** takes a Valuation, which delegates to TheoryEngine.
19 **/
20
21 #include "cvc4_private.h"
22
23 #ifndef __CVC4__THEORY__VALUATION_H
24 #define __CVC4__THEORY__VALUATION_H
25
26 #include "expr/node.h"
27
28 namespace CVC4 {
29
30 class TheoryEngine;
31
32 namespace theory {
33
34 class Valuation {
35 TheoryEngine* d_engine;
36 public:
37 Valuation(TheoryEngine* engine) :
38 d_engine(engine) {
39 }
40
41 Node getValue(TNode n);
42
43 };/* class Valuation */
44
45 }/* CVC4::theory namespace */
46 }/* CVC4 namespace */
47
48 #endif /* __CVC4__THEORY__VALUATION_H */