mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
Add const qualifiers to comparison operators and update iterator equality checks in various classes
This commit is contained in:
parent
a62fede64b
commit
4b4a28239f
4 changed files with 19 additions and 26 deletions
|
@ -1603,10 +1603,10 @@ namespace z3 {
|
|||
unsigned i;
|
||||
public:
|
||||
iterator(expr& e, unsigned i): e(e), i(i) {}
|
||||
bool operator==(iterator const& other) noexcept {
|
||||
bool operator==(iterator const& other) const noexcept {
|
||||
return i == other.i;
|
||||
}
|
||||
bool operator!=(iterator const& other) noexcept {
|
||||
bool operator!=(iterator const& other) const noexcept {
|
||||
return i != other.i;
|
||||
}
|
||||
expr operator*() const { return e.arg(i); }
|
||||
|
@ -1703,28 +1703,28 @@ namespace z3 {
|
|||
|
||||
inline expr operator||(bool a, expr const & b) { return b.ctx().bool_val(a) || b; }
|
||||
|
||||
inline expr operator==(expr const & a, expr const & b) {
|
||||
inline expr operator==(expr const & a, expr const & b) const {
|
||||
check_context(a, b);
|
||||
Z3_ast r = Z3_mk_eq(a.ctx(), a, b);
|
||||
a.check_error();
|
||||
return expr(a.ctx(), r);
|
||||
}
|
||||
inline expr operator==(expr const & a, int b) { assert(a.is_arith() || a.is_bv() || a.is_fpa()); return a == a.ctx().num_val(b, a.get_sort()); }
|
||||
inline expr operator==(expr const & a, int b) const { assert(a.is_arith() || a.is_bv() || a.is_fpa()); return a == a.ctx().num_val(b, a.get_sort()); }
|
||||
inline expr operator==(int a, expr const & b) { assert(b.is_arith() || b.is_bv() || b.is_fpa()); return b.ctx().num_val(a, b.get_sort()) == b; }
|
||||
inline expr operator==(expr const & a, double b) { assert(a.is_fpa()); return a == a.ctx().fpa_val(b); }
|
||||
inline expr operator==(double a, expr const & b) { assert(b.is_fpa()); return b.ctx().fpa_val(a) == b; }
|
||||
inline expr operator==(expr const & a, double b) const { assert(a.is_fpa()); return a == a.ctx().fpa_val(b); }
|
||||
inline expr operator==(double a, expr const & b) const { assert(b.is_fpa()); return b.ctx().fpa_val(a) == b; }
|
||||
|
||||
inline expr operator!=(expr const & a, expr const & b) {
|
||||
inline expr operator!=(expr const & a, expr const & b) const {
|
||||
check_context(a, b);
|
||||
Z3_ast args[2] = { a, b };
|
||||
Z3_ast r = Z3_mk_distinct(a.ctx(), 2, args);
|
||||
a.check_error();
|
||||
return expr(a.ctx(), r);
|
||||
}
|
||||
inline expr operator!=(expr const & a, int b) { assert(a.is_arith() || a.is_bv() || a.is_fpa()); return a != a.ctx().num_val(b, a.get_sort()); }
|
||||
inline expr operator!=(int a, expr const & b) { assert(b.is_arith() || b.is_bv() || b.is_fpa()); return b.ctx().num_val(a, b.get_sort()) != b; }
|
||||
inline expr operator!=(expr const & a, double b) { assert(a.is_fpa()); return a != a.ctx().fpa_val(b); }
|
||||
inline expr operator!=(double a, expr const & b) { assert(b.is_fpa()); return b.ctx().fpa_val(a) != b; }
|
||||
inline expr operator!=(expr const & a, int b) const { assert(a.is_arith() || a.is_bv() || a.is_fpa()); return a != a.ctx().num_val(b, a.get_sort()); }
|
||||
inline expr operator!=(int a, expr const & b) const { assert(b.is_arith() || b.is_bv() || b.is_fpa()); return b.ctx().num_val(a, b.get_sort()) != b; }
|
||||
inline expr operator!=(expr const & a, double b) const { assert(a.is_fpa()); return a != a.ctx().fpa_val(b); }
|
||||
inline expr operator!=(double a, expr const & b) const { assert(b.is_fpa()); return b.ctx().fpa_val(a) != b; }
|
||||
|
||||
inline expr operator+(expr const & a, expr const & b) {
|
||||
check_context(a, b);
|
||||
|
@ -2957,10 +2957,10 @@ namespace z3 {
|
|||
expr_vector const * operator->() const { return &(operator*()); }
|
||||
expr_vector const& operator*() const noexcept { return m_cube; }
|
||||
|
||||
bool operator==(cube_iterator const& other) noexcept {
|
||||
bool operator==(cube_iterator const& other) const noexcept {
|
||||
return other.m_end == m_end;
|
||||
};
|
||||
bool operator!=(cube_iterator const& other) noexcept {
|
||||
bool operator!=(cube_iterator const& other) const noexcept {
|
||||
return other.m_end != m_end;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue