3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-02 03:36:53 +00:00

Merge pull request #8814 from Z3Prover/copilot/simplify-def-ref-smart-pointer

Simplify def_ref smart pointer in model_based_opt.h
This commit is contained in:
Nikolaj Bjorner 2026-03-01 04:47:37 -08:00 committed by GitHub
commit 844731d99a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -117,9 +117,9 @@ namespace opt {
class def_ref {
def* m_def = nullptr;
public:
def_ref(def* d) {
if (d) d->inc_ref();
m_def = d;
def_ref() = default;
def_ref(def* d) : m_def(d) {
if (m_def) m_def->inc_ref();
}
def_ref(def_ref const& other) : m_def(other.m_def) {
if (m_def) m_def->inc_ref();
@ -155,9 +155,9 @@ namespace opt {
def& operator*() { return *m_def; }
def* operator->() { return m_def; }
def const& operator*() const { return *m_def; }
operator bool() const { return !!m_def; }
operator bool() const { return m_def != nullptr; }
~def_ref() { if (m_def) m_def->dec_ref(); };
~def_ref() { if (m_def) m_def->dec_ref(); }
};
struct add_def : public def {
def* x, *y;