diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-02-20 17:59:33 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-02-20 17:59:33 +0000 |
commit | 3d2b33d66998261f9369cccc098140f64bc8b417 (patch) | |
tree | 9176ad2684415f8fb95f75a5655e8b17dcdf9793 /src/expr/expr_template.h | |
parent | 92155f5e40ed2cf452dc5e2f618e7be6542293e8 (diff) |
portfolio merge
Diffstat (limited to 'src/expr/expr_template.h')
-rw-r--r-- | src/expr/expr_template.h | 31 |
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 { |