diff options
author | Andres Noetzli <andres.noetzli@gmail.com> | 2020-06-29 15:35:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-29 17:35:44 -0500 |
commit | 19054b3b1d427e662d30d4322df2b2f2361353da (patch) | |
tree | 1ee878fd6c2c36b78ea33607a5668e6a6d8f7144 /src/expr/expr_manager_template.h | |
parent | 5cd6f0e5e910ad61ebc5045170842078818a3b80 (diff) |
Make ExprManager constructor private (#4669)
This commit makes the ExprManager constructor private and updates the
initialization of subsolvers, unit tests, and system tests accordingly.
This is a step towards making options part of SmtEngine instead of
NodeManager.
Diffstat (limited to 'src/expr/expr_manager_template.h')
-rw-r--r-- | src/expr/expr_manager_template.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/expr/expr_manager_template.h b/src/expr/expr_manager_template.h index 1809eb2d0..3a4498ab7 100644 --- a/src/expr/expr_manager_template.h +++ b/src/expr/expr_manager_template.h @@ -36,6 +36,10 @@ ${includes} namespace CVC4 { +namespace api { +class Solver; +} + class Expr; class SmtEngine; class NodeManager; @@ -45,7 +49,8 @@ struct ExprManagerMapCollection; class ResourceManager; class CVC4_PUBLIC ExprManager { -private: + private: + friend api::Solver; /** The internal node manager */ NodeManager* d_nodeManager; @@ -83,7 +88,6 @@ private: /** A list of datatypes owned by this expr manager. */ std::vector<std::unique_ptr<Datatype> > d_ownedDatatypes; - public: /** * Creates an expression manager with default options. */ @@ -97,6 +101,7 @@ private: */ explicit ExprManager(const Options& options); + public: /** * Destroys the expression manager. No will be deallocated at this point, so * any expression references that used to be managed by this expression |