summaryrefslogtreecommitdiff
path: root/src/expr/expr_manager_template.h
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2020-06-29 15:35:44 -0700
committerGitHub <noreply@github.com>2020-06-29 17:35:44 -0500
commit19054b3b1d427e662d30d4322df2b2f2361353da (patch)
tree1ee878fd6c2c36b78ea33607a5668e6a6d8f7144 /src/expr/expr_manager_template.h
parent5cd6f0e5e910ad61ebc5045170842078818a3b80 (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.h9
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
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback