summaryrefslogtreecommitdiff
path: root/src/smt/smt_engine.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-07-17 13:38:50 -0500
committerGitHub <noreply@github.com>2020-07-17 13:38:50 -0500
commitf99889b0c1260fccf28daac995e58312912bae9f (patch)
treec9bba127e62aedef587ee7da83950281a4c131f4 /src/smt/smt_engine.h
parente8df6f67cc2654f50d49995377a4b411668235e1 (diff)
Replace options listener infrastructure (#4764)
This replaces the old options listener infrastructure with the OptionsManager introduced in cb8d041. It eliminates a "beforeSearchListener", which was a custom way of some options throwing a modal exception if they were set after initialization. Now all options are consistent: no option can be set after initialization. It also moves managed ostream objects to the OptionsManager. @mpreiner The next step will be to remove the "notifies" field from the Options build system and then proceed with cleaning src/options/.
Diffstat (limited to 'src/smt/smt_engine.h')
-rw-r--r--src/smt/smt_engine.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/smt/smt_engine.h b/src/smt/smt_engine.h
index 591b69424..b38ec2d7a 100644
--- a/src/smt/smt_engine.h
+++ b/src/smt/smt_engine.h
@@ -93,6 +93,7 @@ namespace prop {
namespace smt {
/** Utilities */
class AbstractValues;
+class OptionsManager;
/** Subsolvers */
class AbductionSolver;
/**
@@ -856,14 +857,6 @@ class CVC4_PUBLIC SmtEngine
void setPrintFuncInModel(Expr f, bool p);
/**
- * Check and throw a ModalException if the SmtEngine has been fully
- * initialized.
- *
- * throw@ ModalException
- */
- void beforeSearch();
-
- /**
* Get expression name.
*
* Return true if given expressoion has a name in the current context.
@@ -1299,6 +1292,12 @@ class CVC4_PUBLIC SmtEngine
*/
std::unique_ptr<ResourceManager> d_resourceManager;
/**
+ * The options manager, which is responsible for implementing core options
+ * such as those related to time outs and printing. It is also responsible
+ * for set default options based on the logic.
+ */
+ std::unique_ptr<smt::OptionsManager> d_optm;
+ /**
* The global scope object. Upon creation of this SmtEngine, it becomes the
* SmtEngine in scope. It says the SmtEngine in scope until it is destructed,
* or another SmtEngine is created.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback