mirror of
https://github.com/Z3Prover/z3
synced 2025-04-07 18:05:21 +00:00
Use = default
for virtual constructors.
This commit is contained in:
parent
aa0719abae
commit
5014b1a34d
|
@ -40,7 +40,7 @@ namespace api {
|
|||
context& m_context;
|
||||
public:
|
||||
object(context& c);
|
||||
virtual ~object() {}
|
||||
virtual ~object() = default;
|
||||
unsigned ref_count() const { return m_ref_count; }
|
||||
unsigned id() const { return m_id; }
|
||||
void inc_ref();
|
||||
|
|
|
@ -87,7 +87,7 @@ namespace z3 {
|
|||
class exception : public std::exception {
|
||||
std::string m_msg;
|
||||
public:
|
||||
virtual ~exception() throw() {}
|
||||
virtual ~exception() throw() = default;
|
||||
exception(char const * msg):m_msg(msg) {}
|
||||
char const * msg() const { return m_msg.c_str(); }
|
||||
char const * what() const throw() { return m_msg.c_str(); }
|
||||
|
|
|
@ -1024,7 +1024,7 @@ protected:
|
|||
friend class ast_manager;
|
||||
|
||||
public:
|
||||
virtual ~decl_plugin() {}
|
||||
virtual ~decl_plugin() = default;
|
||||
virtual void finalize() {}
|
||||
|
||||
|
||||
|
@ -2582,7 +2582,7 @@ class ast_mark {
|
|||
obj_mark<expr> m_expr_marks;
|
||||
obj_mark<decl, bit_vector, decl2uint> m_decl_marks;
|
||||
public:
|
||||
virtual ~ast_mark() {}
|
||||
virtual ~ast_mark() = default;
|
||||
bool is_marked(ast * n) const;
|
||||
virtual void mark(ast * n, bool flag);
|
||||
virtual void reset();
|
||||
|
|
|
@ -24,7 +24,7 @@ Revision History:
|
|||
|
||||
class ast_printer {
|
||||
public:
|
||||
virtual ~ast_printer() {}
|
||||
virtual ~ast_printer() = default;
|
||||
virtual void pp(sort * s, format_ns::format_ref & r) const { UNREACHABLE(); }
|
||||
virtual void pp(func_decl * f, format_ns::format_ref & r) const { UNREACHABLE(); }
|
||||
virtual void pp(expr * n, unsigned num_vars, char const * var_prefix, format_ns::format_ref & r, sbuffer<symbol> & var_names) const { UNREACHABLE(); }
|
||||
|
|
|
@ -46,7 +46,7 @@ protected:
|
|||
format_ns::format * pp_as(format_ns::format * fname, sort * s);
|
||||
format_ns::format * pp_signature(format_ns::format * f_name, func_decl * f);
|
||||
public:
|
||||
virtual ~smt2_pp_environment() {}
|
||||
virtual ~smt2_pp_environment() = default;
|
||||
virtual ast_manager & get_manager() const = 0;
|
||||
virtual arith_util & get_autil() = 0;
|
||||
virtual bv_util & get_bvutil() = 0;
|
||||
|
|
|
@ -105,7 +105,7 @@ namespace datatype {
|
|||
class size {
|
||||
unsigned m_ref{ 0 };
|
||||
public:
|
||||
virtual ~size() { }
|
||||
virtual ~size() = default;
|
||||
void inc_ref() { ++m_ref; }
|
||||
void dec_ref();
|
||||
static size* mk_offset(sort_size const& s);
|
||||
|
|
|
@ -27,14 +27,14 @@ Revision History:
|
|||
class i_expr_pred {
|
||||
public:
|
||||
virtual bool operator()(expr* e) = 0;
|
||||
virtual ~i_expr_pred() {}
|
||||
virtual ~i_expr_pred() = default;
|
||||
};
|
||||
|
||||
|
||||
class i_sort_pred {
|
||||
public:
|
||||
virtual bool operator()(sort* s) = 0;
|
||||
virtual ~i_sort_pred() {}
|
||||
virtual ~i_sort_pred() = default;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ protected:
|
|||
void collect_macro_candidates(quantifier* q);
|
||||
public:
|
||||
quantifier_macro_info(ast_manager& m, quantifier* q);
|
||||
virtual ~quantifier_macro_info() {}
|
||||
virtual ~quantifier_macro_info() = default;
|
||||
bool is_auf() const { return m_is_auf; }
|
||||
quantifier* get_flat_q() const { return m_flat_q; }
|
||||
bool has_cond_macros() const { return !m_cond_macros.empty(); }
|
||||
|
|
|
@ -31,7 +31,7 @@ public:
|
|||
elim_term_ite_cfg(ast_manager & m, defined_names & d): m(m), m_defined_names(d) {
|
||||
// TBD enable_ac_support(false);
|
||||
}
|
||||
virtual ~elim_term_ite_cfg() {}
|
||||
virtual ~elim_term_ite_cfg() = default;
|
||||
vector<justified_expr> const& new_defs() const { return m_new_defs; }
|
||||
br_status reduce_app(func_decl* f, unsigned n, expr *const* args, expr_ref& result, proof_ref& result_pr);
|
||||
void push() { m_lim.push_back(m_new_defs.size()); }
|
||||
|
|
|
@ -29,7 +29,7 @@ public:
|
|||
|
||||
class name_exprs {
|
||||
public:
|
||||
virtual ~name_exprs() {}
|
||||
virtual ~name_exprs() = default;
|
||||
virtual void operator()(expr * n, // [IN] expression that contain the sub-expressions to be named
|
||||
expr_ref_vector & new_defs, // [OUT] new definitions
|
||||
proof_ref_vector & new_def_proofs, // [OUT] proofs of the new definitions
|
||||
|
|
|
@ -49,7 +49,7 @@ namespace recfun {
|
|||
|
||||
class replace {
|
||||
public:
|
||||
virtual ~replace() {}
|
||||
virtual ~replace() = default;
|
||||
virtual void reset() = 0;
|
||||
virtual void insert(expr* d, expr* r) = 0;
|
||||
virtual expr_ref operator()(expr* e) = 0;
|
||||
|
|
|
@ -28,7 +28,7 @@ Notes:
|
|||
class expr_replacer {
|
||||
struct scoped_set_subst;
|
||||
public:
|
||||
virtual ~expr_replacer() {}
|
||||
virtual ~expr_replacer() = default;
|
||||
|
||||
virtual ast_manager & m() const = 0;
|
||||
virtual void set_substitution(expr_substitution * s) = 0;
|
||||
|
|
|
@ -83,7 +83,7 @@ public:
|
|||
|
||||
class expr_solver {
|
||||
public:
|
||||
virtual ~expr_solver() {}
|
||||
virtual ~expr_solver() = default;
|
||||
virtual lbool check_sat(expr* e) = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ protected:
|
|||
substitution & m_subst;
|
||||
public:
|
||||
st_visitor(substitution & s):m_subst(s) {}
|
||||
virtual ~st_visitor() {}
|
||||
virtual ~st_visitor() = default;
|
||||
substitution & get_substitution() { return m_subst; }
|
||||
virtual bool operator()(expr * e) { return true; }
|
||||
};
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
class value_generator_core {
|
||||
public:
|
||||
virtual ~value_generator_core() {}
|
||||
virtual ~value_generator_core() = default;
|
||||
virtual family_id get_fid() const = 0;
|
||||
virtual expr_ref get_value(sort* s, unsigned index) = 0;
|
||||
};
|
||||
|
|
|
@ -96,7 +96,7 @@ public:
|
|||
class object_ref {
|
||||
unsigned m_ref_count = 0;
|
||||
public:
|
||||
virtual ~object_ref() {}
|
||||
virtual ~object_ref() = default;
|
||||
virtual void finalize(cmd_context & ctx) = 0;
|
||||
void inc_ref(cmd_context & ctx) {
|
||||
m_ref_count++;
|
||||
|
|
|
@ -781,7 +781,7 @@ struct pdecl_manager::sort_info {
|
|||
m_decl(d) {
|
||||
m.inc_ref(d);
|
||||
}
|
||||
virtual ~sort_info() {}
|
||||
virtual ~sort_info() = default;
|
||||
virtual unsigned obj_size() const { return sizeof(sort_info); }
|
||||
virtual void finalize(pdecl_manager & m) { m.dec_ref(m_decl); }
|
||||
virtual void display(std::ostream & out, pdecl_manager const & m) const = 0;
|
||||
|
|
|
@ -38,7 +38,7 @@ protected:
|
|||
virtual size_t obj_size() const { UNREACHABLE(); return sizeof(*this); }
|
||||
pdecl(unsigned id, unsigned num_params):m_id(id), m_num_params(num_params), m_ref_count(0) {}
|
||||
virtual void finalize(pdecl_manager & m) {}
|
||||
virtual ~pdecl() {}
|
||||
virtual ~pdecl() = default;
|
||||
public:
|
||||
virtual bool check_num_params(pdecl * other) const { return m_num_params == other->m_num_params; }
|
||||
unsigned get_num_params() const { return m_num_params; }
|
||||
|
@ -257,7 +257,7 @@ public:
|
|||
|
||||
class new_datatype_eh {
|
||||
public:
|
||||
virtual ~new_datatype_eh() {}
|
||||
virtual ~new_datatype_eh() = default;
|
||||
virtual void operator()(sort * dt, pdecl* pd) = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ Revision History:
|
|||
template<class T>
|
||||
class positive_boolean_algebra {
|
||||
public:
|
||||
virtual ~positive_boolean_algebra() {}
|
||||
virtual ~positive_boolean_algebra() = default;
|
||||
virtual T mk_false() = 0;
|
||||
virtual T mk_true() = 0;
|
||||
virtual T mk_and(T x, T y) = 0;
|
||||
|
|
|
@ -66,7 +66,7 @@ class heap_trie {
|
|||
unsigned m_ref;
|
||||
public:
|
||||
node(node_t t): m_type(t), m_ref(0) {}
|
||||
virtual ~node() {}
|
||||
virtual ~node() = default;
|
||||
node_t type() const { return m_type; }
|
||||
void inc_ref() { ++m_ref; }
|
||||
void dec_ref() { SASSERT(m_ref > 0); --m_ref; }
|
||||
|
|
|
@ -57,7 +57,7 @@ public:
|
|||
|
||||
virtual vector<std::pair<mpq, var_index>> coeffs() const = 0;
|
||||
lar_base_constraint(unsigned j, lconstraint_kind kind, const mpq& right_side) :m_kind(kind), m_right_side(right_side), m_active(false), m_j(j) {}
|
||||
virtual ~lar_base_constraint() {}
|
||||
virtual ~lar_base_constraint() = default;
|
||||
|
||||
lconstraint_kind kind() const { return m_kind; }
|
||||
mpq const& rhs() const { return m_right_side; }
|
||||
|
|
|
@ -49,7 +49,7 @@ namespace lp_api {
|
|||
m_constraints[1] = ct;
|
||||
}
|
||||
|
||||
virtual ~bound() {}
|
||||
virtual ~bound() = default;
|
||||
|
||||
theory_var get_var() const { return m_var; }
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ public:
|
|||
virtual void set_number_of_rows(unsigned m) = 0;
|
||||
virtual void set_number_of_columns(unsigned n) = 0;
|
||||
|
||||
virtual ~matrix() {}
|
||||
virtual ~matrix() = default;
|
||||
|
||||
bool is_equal(const matrix<T, X>& other);
|
||||
bool operator == (matrix<T, X> const & other) {
|
||||
|
|
|
@ -85,7 +85,7 @@ public:
|
|||
bool is_scalar() const { return type() == expr_type::SCALAR; }
|
||||
virtual bool is_pure_monomial() const { return false; }
|
||||
std::string str() const { std::stringstream ss; print(ss); return ss.str(); }
|
||||
virtual ~nex() {}
|
||||
virtual ~nex() = default;
|
||||
virtual bool contains(lpvar j) const { return false; }
|
||||
virtual unsigned get_degree() const = 0;
|
||||
// simplifies the expression and also assigns the address of "this" to *e
|
||||
|
|
|
@ -37,7 +37,7 @@ public:
|
|||
virtual void apply_from_left(vector<X> & w, lp_settings & settings) = 0;
|
||||
virtual void apply_from_right(vector<T> & w) = 0;
|
||||
virtual void apply_from_right(indexed_vector<T> & w) = 0;
|
||||
virtual ~tail_matrix() {}
|
||||
virtual ~tail_matrix() = default;
|
||||
virtual bool is_dense() const = 0;
|
||||
struct ref_row {
|
||||
const tail_matrix & m_A;
|
||||
|
|
|
@ -87,7 +87,7 @@ namespace smt {
|
|||
m_states(states),
|
||||
m_enter_id(enter_id) {
|
||||
}
|
||||
virtual ~pivot_rule_impl() {}
|
||||
virtual ~pivot_rule_impl() = default;
|
||||
virtual bool choose_entering_edge() = 0;
|
||||
virtual pivot_rule rule() const = 0;
|
||||
};
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace subpaving {
|
|||
|
||||
class context {
|
||||
public:
|
||||
virtual ~context() {}
|
||||
virtual ~context() = default;
|
||||
|
||||
virtual unsynch_mpq_manager & qm() const = 0;
|
||||
|
||||
|
|
|
@ -385,7 +385,7 @@ public:
|
|||
context_t * m_ctx;
|
||||
public:
|
||||
node_selector(context_t * ctx):m_ctx(ctx) {}
|
||||
virtual ~node_selector() {}
|
||||
virtual ~node_selector() = default;
|
||||
|
||||
context_t * ctx() const { return m_ctx; }
|
||||
|
||||
|
@ -403,7 +403,7 @@ public:
|
|||
context_t * m_ctx;
|
||||
public:
|
||||
var_selector(context_t * ctx):m_ctx(ctx) {}
|
||||
virtual ~var_selector() {}
|
||||
virtual ~var_selector() = default;
|
||||
|
||||
context_t * ctx() const { return m_ctx; }
|
||||
|
||||
|
@ -436,7 +436,7 @@ public:
|
|||
context_t * m_ctx;
|
||||
public:
|
||||
node_splitter(context_t * ctx):m_ctx(ctx) {}
|
||||
virtual ~node_splitter() {}
|
||||
virtual ~node_splitter() = default;
|
||||
|
||||
context_t * ctx() const { return m_ctx; }
|
||||
node * mk_node(node * p) { return ctx()->mk_node(p); }
|
||||
|
|
|
@ -20,7 +20,7 @@ Author:
|
|||
|
||||
class quantifier2macro_infos {
|
||||
public:
|
||||
virtual ~quantifier2macro_infos() {}
|
||||
virtual ~quantifier2macro_infos() = default;
|
||||
virtual quantifier_macro_info* operator()(quantifier* q) = 0;
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,7 @@ public:
|
|||
m_model(nullptr) {
|
||||
}
|
||||
|
||||
virtual ~base_macro_solver() {}
|
||||
virtual ~base_macro_solver() = default;
|
||||
|
||||
/**
|
||||
\brief Try to satisfy quantifiers in qs by using macro definitions.
|
||||
|
|
|
@ -53,7 +53,7 @@ namespace datalog {
|
|||
m_limited_size = ctx.get_decl_util().try_get_size(s, m_size);
|
||||
}
|
||||
public:
|
||||
virtual ~sort_domain() {}
|
||||
virtual ~sort_domain() = default;
|
||||
|
||||
sort_kind get_kind() const { return m_kind; }
|
||||
virtual unsigned get_constant_count() const = 0;
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace datalog {
|
|||
std::string m_name;
|
||||
public:
|
||||
engine_base(ast_manager& m, char const* name): m(m), m_name(name) {}
|
||||
virtual ~engine_base() {}
|
||||
virtual ~engine_base() = default;
|
||||
|
||||
virtual expr_ref get_answer() = 0;
|
||||
virtual expr_ref get_ground_sat_answer () {
|
||||
|
|
|
@ -89,7 +89,7 @@ namespace datalog {
|
|||
m_can_destratify_negation(can_destratify_negation), m_transformer(nullptr) {}
|
||||
|
||||
public:
|
||||
virtual ~plugin() {}
|
||||
virtual ~plugin() = default;
|
||||
|
||||
unsigned get_priority() { return m_priority; }
|
||||
bool can_destratify_negation() const { return m_can_destratify_negation; }
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace datalog {
|
|||
public:
|
||||
static parser * create(context& ctx, ast_manager & ast_manager);
|
||||
|
||||
virtual ~parser() {}
|
||||
virtual ~parser() = default;
|
||||
|
||||
virtual bool parse_file(char const * path) = 0;
|
||||
virtual bool parse_string(char const * string) = 0;
|
||||
|
@ -37,7 +37,7 @@ namespace datalog {
|
|||
public:
|
||||
static wpa_parser * create(context& ctx, ast_manager & ast_manager);
|
||||
|
||||
virtual ~wpa_parser() {}
|
||||
virtual ~wpa_parser() = default;
|
||||
|
||||
virtual bool parse_directory(char const * path) = 0;
|
||||
};
|
||||
|
|
|
@ -179,7 +179,7 @@ namespace datalog {
|
|||
class base_fn {
|
||||
public:
|
||||
base_fn() = default;
|
||||
virtual ~base_fn() {}
|
||||
virtual ~base_fn() = default;
|
||||
|
||||
base_fn(const base_fn &) = delete;
|
||||
base_fn& operator=(const base_fn &) = delete;
|
||||
|
@ -260,7 +260,7 @@ namespace datalog {
|
|||
*/
|
||||
bool check_kind(base_object const& r) const { return &r.get_plugin()==this; }
|
||||
public:
|
||||
virtual ~plugin_object() {}
|
||||
virtual ~plugin_object() = default;
|
||||
|
||||
virtual void initialize(family_id fid) { m_kind = fid; }
|
||||
|
||||
|
@ -423,7 +423,7 @@ namespace datalog {
|
|||
}
|
||||
#endif
|
||||
|
||||
virtual ~base_ancestor() {}
|
||||
virtual ~base_ancestor() = default;
|
||||
|
||||
void set_kind(family_id kind) { SASSERT(kind>=0); m_kind = kind; }
|
||||
|
||||
|
@ -865,7 +865,7 @@ namespace datalog {
|
|||
|
||||
class table_row_mutator_fn {
|
||||
public:
|
||||
virtual ~table_row_mutator_fn() {}
|
||||
virtual ~table_row_mutator_fn() = default;
|
||||
/**
|
||||
\brief The function is called for a particular table row. The \c func_columns contains
|
||||
a pointer to an array of functional column values that can be modified. If the function
|
||||
|
@ -879,7 +879,7 @@ namespace datalog {
|
|||
|
||||
class table_row_pair_reduce_fn {
|
||||
public:
|
||||
virtual ~table_row_pair_reduce_fn() {}
|
||||
virtual ~table_row_pair_reduce_fn() = default;
|
||||
/**
|
||||
\brief The function is called for pair of table rows that became duplicated due to projection.
|
||||
The values that are in the first array after return from the function will be used for the
|
||||
|
@ -1095,7 +1095,7 @@ namespace datalog {
|
|||
unsigned m_ref_cnt;
|
||||
public:
|
||||
iterator_core() : m_ref_cnt(0) {}
|
||||
virtual ~iterator_core() {}
|
||||
virtual ~iterator_core() = default;
|
||||
|
||||
iterator_core(const iterator_core &) = delete;
|
||||
iterator_core & operator=(const iterator_core &) = delete;
|
||||
|
@ -1124,7 +1124,7 @@ namespace datalog {
|
|||
unsigned m_ref_cnt;
|
||||
public:
|
||||
row_iterator_core() : m_ref_cnt(0) {}
|
||||
virtual ~row_iterator_core() {}
|
||||
virtual ~row_iterator_core() = default;
|
||||
|
||||
row_iterator_core(const row_iterator_core &) = delete;
|
||||
row_iterator_core & operator=(const row_iterator_core &) = delete;
|
||||
|
@ -1205,7 +1205,7 @@ namespace datalog {
|
|||
typedef row_iterator const_iterator;
|
||||
|
||||
row_interface(const table_base & parent_table) : m_parent_table(parent_table) {}
|
||||
virtual ~row_interface() {}
|
||||
virtual ~row_interface() = default;
|
||||
|
||||
virtual table_element operator[](unsigned col) const = 0;
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace datalog {
|
|||
|
||||
class external_relation_context {
|
||||
public:
|
||||
virtual ~external_relation_context() {}
|
||||
virtual ~external_relation_context() = default;
|
||||
|
||||
virtual family_id get_family_id() const = 0;
|
||||
|
||||
|
|
|
@ -317,7 +317,7 @@ namespace datalog {
|
|||
class instruction_block {
|
||||
public:
|
||||
struct instruction_observer {
|
||||
virtual ~instruction_observer() {}
|
||||
virtual ~instruction_observer() = default;
|
||||
virtual void notify(instruction * i) {}
|
||||
};
|
||||
private:
|
||||
|
|
|
@ -107,7 +107,7 @@ namespace datalog {
|
|||
public:
|
||||
lazy_table_ref(lazy_table_plugin& p, table_signature const& sig):
|
||||
m_plugin(p), m_signature(sig), m_ref(0) {}
|
||||
virtual ~lazy_table_ref() {}
|
||||
virtual ~lazy_table_ref() = default;
|
||||
void inc_ref() { ++m_ref; }
|
||||
void dec_ref() { --m_ref; if (0 == m_ref) dealloc(this); }
|
||||
void release_table() { m_table.release(); }
|
||||
|
|
|
@ -999,7 +999,7 @@ namespace datalog {
|
|||
class relation_manager::auxiliary_table_transformer_fn {
|
||||
table_fact m_row;
|
||||
public:
|
||||
virtual ~auxiliary_table_transformer_fn() {}
|
||||
virtual ~auxiliary_table_transformer_fn() = default;
|
||||
virtual const table_signature & get_result_signature() const = 0;
|
||||
virtual void modify_fact(table_fact & f) const = 0;
|
||||
|
||||
|
@ -1241,7 +1241,7 @@ namespace datalog {
|
|||
table_fact m_row;
|
||||
svector<table_element> m_to_remove;
|
||||
public:
|
||||
virtual ~auxiliary_table_filter_fn() {}
|
||||
virtual ~auxiliary_table_filter_fn() = default;
|
||||
virtual bool should_remove(const table_fact & f) const = 0;
|
||||
|
||||
void operator()(table_base & r) {
|
||||
|
|
|
@ -274,7 +274,7 @@ namespace datalog {
|
|||
key_indexer(unsigned key_len, const unsigned * key_cols)
|
||||
: m_key_cols(key_len, key_cols) {}
|
||||
|
||||
virtual ~key_indexer() {}
|
||||
virtual ~key_indexer() = default;
|
||||
|
||||
virtual void update(const sparse_table & t) {}
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace datalog {
|
|||
|
||||
class base_fn {
|
||||
public:
|
||||
virtual ~base_fn() {}
|
||||
virtual ~base_fn() = default;
|
||||
};
|
||||
|
||||
class join_fn : public base_fn {
|
||||
|
@ -113,7 +113,7 @@ namespace datalog {
|
|||
base_ancestor(kind k, relation_manager & m, const signature & s)
|
||||
: m_kind(k), m_manager(m), m_signature(s) {}
|
||||
public:
|
||||
virtual ~base_ancestor() {}
|
||||
virtual ~base_ancestor() = default;
|
||||
|
||||
kind get_kind() const { return m_kind; }
|
||||
relation_manager & get_manager() const { return m_manager; }
|
||||
|
|
|
@ -857,7 +857,7 @@ protected:
|
|||
context& m_ctx;
|
||||
public:
|
||||
lemma_generalizer(context& ctx): m_ctx(ctx) {}
|
||||
virtual ~lemma_generalizer() {}
|
||||
virtual ~lemma_generalizer() = default;
|
||||
virtual void operator()(lemma_ref &lemma) = 0;
|
||||
virtual void collect_statistics(statistics& st) const {}
|
||||
virtual void reset_statistics() {}
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace spacer {
|
|||
ast_manager& m;
|
||||
public:
|
||||
unsat_core_plugin(unsat_core_learner& learner);
|
||||
virtual ~unsat_core_plugin() {};
|
||||
virtual ~unsat_core_plugin() = default;
|
||||
virtual void compute_partial_core(proof* step) = 0;
|
||||
virtual void finalize(){};
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace opt {
|
|||
|
||||
class maxsmt_solver {
|
||||
public:
|
||||
virtual ~maxsmt_solver() {}
|
||||
virtual ~maxsmt_solver() = default;
|
||||
virtual lbool operator()() = 0;
|
||||
virtual rational get_lower() const = 0;
|
||||
virtual rational get_upper() const = 0;
|
||||
|
|
|
@ -28,7 +28,7 @@ namespace opt {
|
|||
|
||||
class lns_context {
|
||||
public:
|
||||
virtual ~lns_context() {}
|
||||
virtual ~lns_context() = default;
|
||||
virtual void update_model(model_ref& mdl) = 0;
|
||||
virtual void relax_cores(vector<expr_ref_vector> const& cores) = 0;
|
||||
virtual rational cost(model& mdl) = 0;
|
||||
|
|
|
@ -52,7 +52,7 @@ namespace opt {
|
|||
m_solver(s),
|
||||
m_params(p) {
|
||||
}
|
||||
virtual ~pareto_base() {}
|
||||
virtual ~pareto_base() = default;
|
||||
virtual void updt_params(params_ref & p) {
|
||||
m_solver->updt_params(p);
|
||||
m_params.copy(p);
|
||||
|
|
|
@ -55,7 +55,7 @@ namespace opt {
|
|||
{
|
||||
updt_params(p);
|
||||
}
|
||||
virtual ~sls_solver() {}
|
||||
virtual ~sls_solver() = default;
|
||||
|
||||
virtual void updt_params(params_ref & p) {
|
||||
m_solver->updt_params(p);
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace mbp {
|
|||
|
||||
public:
|
||||
project_plugin(ast_manager& m) :m(m), m_cache(m), m_args(m), m_pure_eqs(m) {}
|
||||
virtual ~project_plugin() {}
|
||||
virtual ~project_plugin() = default;
|
||||
virtual bool operator()(model& model, app* var, app_ref_vector& vars, expr_ref_vector& lits) { return false; }
|
||||
/**
|
||||
\brief partial solver.
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace mbp {
|
|||
bool is_variable(expr* e) const { return m_is_var(e); }
|
||||
public:
|
||||
solve_plugin(ast_manager& m, family_id fid, is_variable_proc& is_var) : m(m), m_id(fid), m_is_var(is_var) {}
|
||||
virtual ~solve_plugin() {}
|
||||
virtual ~solve_plugin() = default;
|
||||
family_id get_family_id() const { return m_id; }
|
||||
/// Process (and potentially augment) a literal
|
||||
expr_ref operator() (expr *lit);
|
||||
|
|
|
@ -116,7 +116,7 @@ namespace nlarith {
|
|||
|
||||
class eval {
|
||||
public:
|
||||
virtual ~eval() {}
|
||||
virtual ~eval() = default;
|
||||
virtual lbool operator()(app* a) = 0;
|
||||
};
|
||||
|
||||
|
@ -124,7 +124,7 @@ namespace nlarith {
|
|||
|
||||
class branch {
|
||||
public:
|
||||
virtual ~branch() {}
|
||||
virtual ~branch() = default;
|
||||
virtual app* get_constraint() = 0;
|
||||
virtual void get_updates(ptr_vector<app>& atoms, svector<atom_update>& updates) = 0;
|
||||
};
|
||||
|
|
|
@ -877,7 +877,7 @@ namespace qe {
|
|||
|
||||
class quant_elim {
|
||||
public:
|
||||
virtual ~quant_elim() {}
|
||||
virtual ~quant_elim() = default;
|
||||
|
||||
virtual lbool eliminate_exists(
|
||||
unsigned num_vars, app* const* vars,
|
||||
|
|
|
@ -149,7 +149,7 @@ namespace qe {
|
|||
m_ctx(ctx)
|
||||
{}
|
||||
|
||||
virtual ~qe_solver_plugin() {}
|
||||
virtual ~qe_solver_plugin() = default;
|
||||
|
||||
family_id get_family_id() { return m_fid; }
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ namespace qe {
|
|||
lbool is_shared_cached(expr* e);
|
||||
public:
|
||||
mbi_plugin(ast_manager& m): m(m), m_shared_trail(m) {}
|
||||
virtual ~mbi_plugin() {}
|
||||
virtual ~mbi_plugin() = default;
|
||||
|
||||
/**
|
||||
* Set the shared symbols.
|
||||
|
|
|
@ -70,7 +70,7 @@ namespace sat {
|
|||
solver* m_solver { nullptr };
|
||||
public:
|
||||
extension(symbol const& name, int id): m_id(id), m_name(name) { }
|
||||
virtual ~extension() {}
|
||||
virtual ~extension() = default;
|
||||
int get_id() const { return m_id; }
|
||||
void set_solver(solver* s) { m_solver = s; }
|
||||
solver& s() { return *m_solver; }
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace sat {
|
|||
reslimit& m_rlimit;
|
||||
public:
|
||||
solver_core(reslimit& l) : m_rlimit(l) {}
|
||||
virtual ~solver_core() {}
|
||||
virtual ~solver_core() = default;
|
||||
|
||||
// add clauses
|
||||
virtual void add_clause(unsigned n, literal* lits, status st) = 0;
|
||||
|
|
|
@ -80,7 +80,7 @@ namespace sat {
|
|||
|
||||
class i_local_search {
|
||||
public:
|
||||
virtual ~i_local_search() {}
|
||||
virtual ~i_local_search() = default;
|
||||
virtual void add(solver const& s) = 0;
|
||||
virtual void updt_params(params_ref const& p) = 0;
|
||||
virtual void set_seed(unsigned s) = 0;
|
||||
|
|
|
@ -45,7 +45,7 @@ namespace q {
|
|||
|
||||
static mam * mk(euf::solver& ctx, ematch& em);
|
||||
|
||||
virtual ~mam() {}
|
||||
virtual ~mam() = default;
|
||||
|
||||
virtual void add_pattern(quantifier * q, app * mp) = 0;
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ namespace q {
|
|||
ast_manager& m;
|
||||
public:
|
||||
projection_function(ast_manager& m) : m(m) {}
|
||||
virtual ~projection_function() {}
|
||||
virtual ~projection_function() = default;
|
||||
virtual expr* mk_lt(expr* a, expr* b) = 0;
|
||||
expr* mk_le(expr* a, expr* b) { return m.mk_not(mk_lt(b, a)); }
|
||||
virtual bool operator()(expr* a, expr* b) const = 0;
|
||||
|
|
|
@ -21,7 +21,7 @@ Author:
|
|||
namespace sat {
|
||||
class sat_internalizer {
|
||||
public:
|
||||
virtual ~sat_internalizer() {}
|
||||
virtual ~sat_internalizer() = default;
|
||||
virtual bool is_bool_op(expr* e) const = 0;
|
||||
virtual literal internalize(expr* e, bool learned) = 0;
|
||||
virtual bool_var to_bool_var(expr* e) = 0;
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace euf {
|
|||
virtual bool post_visit(expr* e, bool sign, bool root) { return false; }
|
||||
|
||||
public:
|
||||
virtual ~th_internalizer() {}
|
||||
virtual ~th_internalizer() = default;
|
||||
|
||||
virtual sat::literal internalize(expr* e, bool sign, bool root, bool redundant) = 0;
|
||||
|
||||
|
@ -60,7 +60,7 @@ namespace euf {
|
|||
|
||||
class th_decompile {
|
||||
public:
|
||||
virtual ~th_decompile() {}
|
||||
virtual ~th_decompile() = default;
|
||||
|
||||
virtual bool to_formulas(std::function<expr_ref(sat::literal)>& lit2expr, expr_ref_vector& fmls) { return false; }
|
||||
};
|
||||
|
@ -68,7 +68,7 @@ namespace euf {
|
|||
class th_model_builder {
|
||||
public:
|
||||
|
||||
virtual ~th_model_builder() {}
|
||||
virtual ~th_model_builder() = default;
|
||||
|
||||
/**
|
||||
\brief compute the value for enode \c n and store the value in \c values
|
||||
|
|
|
@ -37,8 +37,7 @@ namespace smt {
|
|||
m_context(ctx) {
|
||||
}
|
||||
|
||||
virtual ~mam() {
|
||||
}
|
||||
virtual ~mam() = default;
|
||||
|
||||
virtual void add_pattern(quantifier * q, app * mp) = 0;
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ namespace smt {
|
|||
virtual void pop_scope(unsigned num_scopes) = 0;
|
||||
virtual void next_case_split(bool_var & next, lbool & phase) = 0;
|
||||
virtual void display(std::ostream & out) = 0;
|
||||
virtual ~case_split_queue() {}
|
||||
virtual ~case_split_queue() = default;
|
||||
|
||||
// theory-aware branching hint
|
||||
virtual void add_theory_aware_branching_info(bool_var v, double priority, lbool phase) {}
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace smt {
|
|||
*/
|
||||
class clause_del_eh {
|
||||
public:
|
||||
virtual ~clause_del_eh() {}
|
||||
virtual ~clause_del_eh() = default;
|
||||
virtual void operator()(ast_manager & m, clause * cls) = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ namespace smt {
|
|||
|
||||
public:
|
||||
for_each_relevant_expr(context & ctx);
|
||||
virtual ~for_each_relevant_expr() {}
|
||||
virtual ~for_each_relevant_expr() = default;
|
||||
/**
|
||||
\brief Visit the relevant sub-expressions of n.
|
||||
That is, only subexpressions m of n, such that m_context.is_relevant(m).
|
||||
|
|
|
@ -49,7 +49,7 @@ namespace smt {
|
|||
unsigned m_in_region:1; // true if the object was allocated in a region.
|
||||
public:
|
||||
justification(bool in_region = true):m_mark(false), m_in_region(in_region) {}
|
||||
virtual ~justification() {}
|
||||
virtual ~justification() = default;
|
||||
|
||||
/**
|
||||
\brief This method should return true if the method del_eh needs to be invoked
|
||||
|
|
|
@ -1157,7 +1157,7 @@ namespace smt {
|
|||
ast_manager& m;
|
||||
public:
|
||||
qinfo(ast_manager& m) :m(m) {}
|
||||
virtual ~qinfo() {}
|
||||
virtual ~qinfo() = default;
|
||||
virtual char const* get_kind() const = 0;
|
||||
virtual bool is_equal(qinfo const* qi) const = 0;
|
||||
virtual void display(std::ostream& out) const { out << "[" << get_kind() << "]"; }
|
||||
|
|
|
@ -136,7 +136,7 @@ namespace smt {
|
|||
*/
|
||||
class model_value_proc {
|
||||
public:
|
||||
virtual ~model_value_proc() {}
|
||||
virtual ~model_value_proc() = default;
|
||||
/**
|
||||
\brief Fill result with the dependencies of this functor.
|
||||
That is, to invoke mk_value, the dependencies in result must be constructed.
|
||||
|
|
|
@ -106,7 +106,7 @@ namespace smt {
|
|||
|
||||
class quantifier_manager_plugin {
|
||||
public:
|
||||
virtual ~quantifier_manager_plugin() {}
|
||||
virtual ~quantifier_manager_plugin() = default;
|
||||
|
||||
virtual void set_manager(quantifier_manager & qm) = 0;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace smt {
|
|||
void mark_as_relevant(relevancy_propagator & rp, expr * n);
|
||||
void mark_args_as_relevant(relevancy_propagator & rp, app * n);
|
||||
public:
|
||||
virtual ~relevancy_eh() {}
|
||||
virtual ~relevancy_eh() = default;
|
||||
/**
|
||||
\brief This method is invoked when n is marked as relevant.
|
||||
*/
|
||||
|
@ -87,7 +87,7 @@ namespace smt {
|
|||
context & m_context;
|
||||
public:
|
||||
relevancy_propagator(context & ctx);
|
||||
virtual ~relevancy_propagator() {}
|
||||
virtual ~relevancy_propagator() = default;
|
||||
|
||||
context & get_context() { return m_context; }
|
||||
|
||||
|
|
|
@ -294,7 +294,7 @@ namespace smt {
|
|||
m_bound_kind(k),
|
||||
m_atom(a) {
|
||||
}
|
||||
virtual ~bound() {}
|
||||
virtual ~bound() = default;
|
||||
theory_var get_var() const { return m_var; }
|
||||
bound_kind get_bound_kind() const { return static_cast<bound_kind>(m_bound_kind); }
|
||||
bool is_atom() const { return m_atom; }
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace smt {
|
|||
|
||||
class atom {
|
||||
public:
|
||||
virtual ~atom() {}
|
||||
virtual ~atom() = default;
|
||||
virtual bool is_bit() const = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -222,7 +222,7 @@ namespace smt {
|
|||
|
||||
class apply {
|
||||
public:
|
||||
virtual ~apply() {}
|
||||
virtual ~apply() = default;
|
||||
virtual void operator()(theory_seq& th) = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ protected:
|
|||
double m_time;
|
||||
public:
|
||||
check_sat_result():m_ref_count(0), m_status(l_undef), m_time(0) {}
|
||||
virtual ~check_sat_result() {}
|
||||
virtual ~check_sat_result() = default;
|
||||
void inc_ref() { m_ref_count++; }
|
||||
void dec_ref() { SASSERT(m_ref_count > 0); m_ref_count--; if (m_ref_count == 0) dealloc(this); }
|
||||
lbool set_status(lbool r) { return m_status = r; }
|
||||
|
|
|
@ -20,7 +20,7 @@ Revision History:
|
|||
|
||||
class progress_callback {
|
||||
public:
|
||||
virtual ~progress_callback() {}
|
||||
virtual ~progress_callback() = default;
|
||||
|
||||
// Called on every check for resource limit exceeded (much more frequent).
|
||||
virtual void fast_progress_sample() {}
|
||||
|
|
|
@ -29,7 +29,7 @@ class model_converter;
|
|||
|
||||
class solver_factory {
|
||||
public:
|
||||
virtual ~solver_factory() {}
|
||||
virtual ~solver_factory() = default;
|
||||
virtual solver * operator()(ast_manager & m, params_ref const & p, bool proofs_enabled, bool models_enabled, bool unsat_core_enabled, symbol const & logic) = 0;
|
||||
};
|
||||
|
||||
|
@ -113,7 +113,7 @@ public:
|
|||
virtual void set_phase(expr* e) = 0;
|
||||
virtual void move_to_front(expr* e) = 0;
|
||||
|
||||
class phase { public: virtual ~phase() {} };
|
||||
class phase { public: virtual ~phase() = default; };
|
||||
|
||||
virtual phase* get_phase() = 0;
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ public:
|
|||
imp(ast_manager & m, params_ref const & p, bv_bound_chk_stats& stats)
|
||||
: m_rw(m, p, stats) { }
|
||||
|
||||
virtual ~imp() { }
|
||||
virtual ~imp() = default;
|
||||
|
||||
ast_manager& m() { return m_rw.m(); }
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ class converter {
|
|||
unsigned m_ref_count;
|
||||
public:
|
||||
converter():m_ref_count(0) {}
|
||||
virtual ~converter() {}
|
||||
virtual ~converter() = default;
|
||||
|
||||
void inc_ref() { ++m_ref_count; }
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ public:
|
|||
class simplifier {
|
||||
goal_num_occurs* m_occs;
|
||||
public:
|
||||
virtual ~simplifier() {}
|
||||
virtual ~simplifier() = default;
|
||||
virtual bool assert_expr(expr * t, bool sign) = 0;
|
||||
virtual bool simplify(expr* t, expr_ref& result) = 0;
|
||||
virtual bool may_simplify(expr* t) { return true; }
|
||||
|
|
|
@ -64,7 +64,7 @@ public:
|
|||
|
||||
class dom_simplifier {
|
||||
public:
|
||||
virtual ~dom_simplifier() {}
|
||||
virtual ~dom_simplifier() = default;
|
||||
/**
|
||||
\brief assert_expr performs an implicit push
|
||||
*/
|
||||
|
|
|
@ -44,7 +44,7 @@ private:
|
|||
|
||||
public:
|
||||
probe():m_ref_count(0) {}
|
||||
virtual ~probe() {}
|
||||
virtual ~probe() = default;
|
||||
|
||||
void inc_ref() { ++m_ref_count; }
|
||||
void dec_ref() { SASSERT(m_ref_count > 0); --m_ref_count; if (m_ref_count == 0) dealloc(this); }
|
||||
|
|
|
@ -53,7 +53,7 @@ namespace user_propagator {
|
|||
class core {
|
||||
public:
|
||||
|
||||
virtual ~core() {}
|
||||
virtual ~core() = default;
|
||||
|
||||
virtual void user_propagate_init(
|
||||
void* ctx,
|
||||
|
|
|
@ -21,7 +21,7 @@ Revision History:
|
|||
|
||||
class ex {
|
||||
public:
|
||||
virtual ~ex() {}
|
||||
virtual ~ex() = default;
|
||||
virtual char const * msg() const = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ protected:
|
|||
int m_pos;
|
||||
public:
|
||||
cmd(char const * n):m_name(n), m_line(0), m_pos(0) {}
|
||||
virtual ~cmd() {}
|
||||
virtual ~cmd() = default;
|
||||
virtual void reset(cmd_context & ctx) {}
|
||||
virtual void finalize(cmd_context & ctx) {}
|
||||
virtual symbol get_name() const { return m_name; }
|
||||
|
|
|
@ -31,7 +31,7 @@ protected:
|
|||
event_handler_caller_t m_caller_id;
|
||||
public:
|
||||
event_handler(): m_caller_id(UNSET_EH_CALLER) {}
|
||||
virtual ~event_handler() {}
|
||||
virtual ~event_handler() = default;
|
||||
virtual void operator()(event_handler_caller_t caller_id) = 0;
|
||||
event_handler_caller_t caller_id() const { return m_caller_id; }
|
||||
};
|
||||
|
|
|
@ -26,7 +26,7 @@ Revision History:
|
|||
|
||||
class trail {
|
||||
public:
|
||||
virtual ~trail() {}
|
||||
virtual ~trail() = default;
|
||||
virtual void undo() = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Notes:
|
|||
|
||||
class z3_exception {
|
||||
public:
|
||||
virtual ~z3_exception() {}
|
||||
virtual ~z3_exception() = default;
|
||||
virtual char const * msg() const = 0;
|
||||
virtual unsigned error_code() const;
|
||||
bool has_error_code() const;
|
||||
|
|
Loading…
Reference in a new issue