diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-08-21 18:51:37 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-21 18:51:37 -0500 |
commit | 45fd2390beab04e560508d83c99492490c2d8d57 (patch) | |
tree | 7b8d743c3f002a4cc0810d37da7224bc791d60a3 /src/theory/ee_manager.cpp | |
parent | 9ea213066b989a8154b1ebd40ebea3bc7e18c42d (diff) |
Dynamic allocation of model equality engine (#4911)
This makes the equality engine manager responsible for initializing the equality engine of the model.
It also moves the base equality engine manager class to its own file.
Notice the code in TheoryEngine will undergo significant cleaning in forthcoming PRs when the "ModelManagerDistributed" is added. This PR adds temporary calls there to preserve the current behavior.
Diffstat (limited to 'src/theory/ee_manager.cpp')
-rw-r--r-- | src/theory/ee_manager.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/theory/ee_manager.cpp b/src/theory/ee_manager.cpp new file mode 100644 index 000000000..bec355e7d --- /dev/null +++ b/src/theory/ee_manager.cpp @@ -0,0 +1,31 @@ +/********************* */ +/*! \file ee_manager.cpp + ** \verbatim + ** Top contributors (to current version): + ** Andrew Reynolds + ** This file is part of the CVC4 project. + ** Copyright (c) 2009-2020 by the authors listed in the file AUTHORS + ** in the top-level source directory) and their institutional affiliations. + ** All rights reserved. See the file COPYING in the top-level source + ** directory for licensing information.\endverbatim + ** + ** \brief Utilities for management of equality engines. + **/ + +#include "theory/ee_manager.h" + +namespace CVC4 { +namespace theory { + +const EeTheoryInfo* EqEngineManager::getEeTheoryInfo(TheoryId tid) const +{ + std::map<TheoryId, EeTheoryInfo>::const_iterator it = d_einfo.find(tid); + if (it != d_einfo.end()) + { + return &it->second; + } + return nullptr; +} + +} // namespace theory +} // namespace CVC4 |