summaryrefslogtreecommitdiff
path: root/src/expr/expr_template.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2012-02-20 17:59:33 +0000
committerMorgan Deters <mdeters@gmail.com>2012-02-20 17:59:33 +0000
commit3d2b33d66998261f9369cccc098140f64bc8b417 (patch)
tree9176ad2684415f8fb95f75a5655e8b17dcdf9793 /src/expr/expr_template.h
parent92155f5e40ed2cf452dc5e2f618e7be6542293e8 (diff)
portfolio merge
Diffstat (limited to 'src/expr/expr_template.h')
-rw-r--r--src/expr/expr_template.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/expr/expr_template.h b/src/expr/expr_template.h
index b54ec20d4..56396da01 100644
--- a/src/expr/expr_template.h
+++ b/src/expr/expr_template.h
@@ -49,6 +49,8 @@ namespace CVC4 {
template <bool ref_count>
class NodeTemplate;
+class NodeManager;
+
class Expr;
class ExprManager;
class SmtEngine;
@@ -56,6 +58,20 @@ class Type;
class TypeCheckingException;
class TypeCheckingExceptionPrivate;
+namespace expr {
+ namespace pickle {
+ class Pickler;
+ }/* CVC4::expr::pickle namespace */
+}/* CVC4::expr namespace */
+
+namespace prop {
+ class SatSolver;
+}/* CVC4::prop namespace */
+
+class ExprManagerMapCollection;
+
+struct ExprHashFunction;
+
namespace smt {
class SmtEnginePrivate;
}/* CVC4::smt namespace */
@@ -64,6 +80,8 @@ namespace expr {
class CVC4_PUBLIC ExprSetDepth;
class CVC4_PUBLIC ExprPrintTypes;
class CVC4_PUBLIC ExprSetLanguage;
+
+ NodeTemplate<true> exportInternal(NodeTemplate<false> n, ExprManager* from, ExprManager* to, ExprManagerMapCollection& vmap);
}/* CVC4::expr namespace */
/**
@@ -437,6 +455,13 @@ public:
ExprManager* getExprManager() const;
/**
+ * Maps this Expr into one for a different ExprManager, using
+ * variableMap for the translation and extending it with any new
+ * mappings.
+ */
+ Expr exportTo(ExprManager* exprManager, ExprManagerMapCollection& variableMap);
+
+ /**
* IOStream manipulator to set the maximum depth of Exprs when
* pretty-printing. -1 means print to any depth. E.g.:
*
@@ -510,6 +535,10 @@ protected:
friend class ExprManager;
friend class NodeManager;
friend class TypeCheckingException;
+ friend class expr::pickle::Pickler;
+ friend class prop::SatSolver;
+ friend NodeTemplate<true> expr::exportInternal(NodeTemplate<false> n, ExprManager* from, ExprManager* to, ExprManagerMapCollection& vmap);
+
friend std::ostream& CVC4::operator<<(std::ostream& out, const Expr& e);
template <bool ref_count> friend class NodeTemplate;
@@ -828,7 +857,7 @@ public:
${getConst_instantiations}
-#line 832 "${template}"
+#line 861 "${template}"
namespace expr {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback