diff options
author | Aina Niemetz <aina.niemetz@gmail.com> | 2018-09-23 10:55:10 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-23 10:55:10 -0700 |
commit | fa2f106f94eb7914a463fb75dce09f9d26510616 (patch) | |
tree | 1e7e03263bea893af311d86c18c8a41cc4d75d3c /src/expr/expr_template.h | |
parent | 3fd1ac8f675057e8221b1e702951b8a0024c7ab2 (diff) |
New C++ API: Add checks for Terms/OpTerms. (#2455)
Diffstat (limited to 'src/expr/expr_template.h')
-rw-r--r-- | src/expr/expr_template.h | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/expr/expr_template.h b/src/expr/expr_template.h index 7cecdebbd..afa08068f 100644 --- a/src/expr/expr_template.h +++ b/src/expr/expr_template.h @@ -60,6 +60,10 @@ class Type; class TypeCheckingException; class TypeCheckingExceptionPrivate; +namespace api { +class Solver; +} + namespace expr { namespace pickle { class Pickler; @@ -208,6 +212,16 @@ struct ExprHashFunction { * expressions. */ class CVC4_PUBLIC Expr { + friend class ExprManager; + friend class NodeManager; + friend class SmtEngine; + friend class TypeCheckingException; + friend class api::Solver; + friend class expr::ExportPrivate; + friend class expr::pickle::Pickler; + friend class prop::TheoryProxy; + friend class smt::SmtEnginePrivate; + friend std::ostream& CVC4::operator<<(std::ostream& out, const Expr& e); /** The internal expression representation */ NodeTemplate<true>* d_node; @@ -592,17 +606,6 @@ private: * @return the internal node */ NodeTemplate<false> getTNode() const; - - // Friend to access the actual internal expr information and private methods - friend class SmtEngine; - friend class smt::SmtEnginePrivate; - friend class ExprManager; - friend class NodeManager; - friend class TypeCheckingException; - friend class expr::pickle::Pickler; - friend class prop::TheoryProxy; - friend class expr::ExportPrivate; - friend std::ostream& CVC4::operator<<(std::ostream& out, const Expr& e); template <bool ref_count> friend class NodeTemplate; };/* class Expr */ |