diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-07-17 13:38:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-17 13:38:50 -0500 |
commit | f99889b0c1260fccf28daac995e58312912bae9f (patch) | |
tree | c9bba127e62aedef587ee7da83950281a4c131f4 /src/smt/smt_engine.h | |
parent | e8df6f67cc2654f50d49995377a4b411668235e1 (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.h | 15 |
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. |