3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 13:28:47 +00:00

remove default destructors

This commit is contained in:
Nuno Lopes 2024-10-02 22:20:12 +01:00
parent b170f10148
commit 3586b613f7
95 changed files with 25 additions and 259 deletions

View file

@ -34,9 +34,6 @@ struct arith_decl_plugin::algebraic_numbers_wrapper {
m_nums(m_amanager) { m_nums(m_amanager) {
} }
~algebraic_numbers_wrapper() {
}
unsigned mk_id(algebraic_numbers::anum const & val) { unsigned mk_id(algebraic_numbers::anum const & val) {
SASSERT(!m_amanager.is_rational(val)); SASSERT(!m_amanager.is_rational(val));
unsigned idx = m_id_gen.mk(); unsigned idx = m_id_gen.mk();

View file

@ -33,8 +33,7 @@ class ast2ast_trailmap {
public: public:
ast2ast_trailmap(ast_manager& m): ast2ast_trailmap(ast_manager& m):
m_domain(m), m_domain(m),
m_range(m), m_range(m)
m_map()
{} {}
bool find(S* s, T*& t) { bool find(S* s, T*& t) {

View file

@ -1040,11 +1040,6 @@ namespace datatype {
return m_family_id; return m_family_id;
} }
util::~util() {
}
ptr_vector<func_decl> const * util::get_datatype_constructors(sort * ty) { ptr_vector<func_decl> const * util::get_datatype_constructors(sort * ty) {
SASSERT(is_datatype(ty)); SASSERT(is_datatype(ty));
ptr_vector<func_decl> * r = nullptr; ptr_vector<func_decl> * r = nullptr;

View file

@ -338,7 +338,6 @@ namespace datatype {
public: public:
util(ast_manager & m); util(ast_manager & m);
~util();
ast_manager & get_manager() const { return m; } ast_manager & get_manager() const { return m; }
// sort * mk_datatype_sort(symbol const& name, unsigned n, sort* const* params); // sort * mk_datatype_sort(symbol const& name, unsigned n, sort* const* params);
bool is_datatype(sort const* s) const { return is_sort_of(s, fid(), DATATYPE_SORT); } bool is_datatype(sort const* s) const { return is_sort_of(s, fid(), DATATYPE_SORT); }

View file

@ -504,9 +504,6 @@ default_expr2polynomial::default_expr2polynomial(ast_manager & am, polynomial::m
expr2polynomial(am, pm, nullptr) { expr2polynomial(am, pm, nullptr) {
} }
default_expr2polynomial::~default_expr2polynomial() {
}
bool default_expr2polynomial::is_int(polynomial::var x) const { bool default_expr2polynomial::is_int(polynomial::var x) const {
return m_is_int[x]; return m_is_int[x];
} }

View file

@ -102,7 +102,6 @@ class default_expr2polynomial : public expr2polynomial {
bool_vector m_is_int; bool_vector m_is_int;
public: public:
default_expr2polynomial(ast_manager & am, polynomial::manager & pm); default_expr2polynomial(ast_manager & am, polynomial::manager & pm);
~default_expr2polynomial() override;
bool is_int(polynomial::var x) const override; bool is_int(polynomial::var x) const override;
protected: protected:
polynomial::var mk_var(bool is_int) override; polynomial::var mk_var(bool is_int) override;

View file

@ -36,9 +36,6 @@ struct fpa2bv_rewriter_cfg : public default_rewriter_cfg {
fpa2bv_rewriter_cfg(ast_manager & m, fpa2bv_converter & c, params_ref const & p); fpa2bv_rewriter_cfg(ast_manager & m, fpa2bv_converter & c, params_ref const & p);
~fpa2bv_rewriter_cfg() {
}
void cleanup_buffers() { void cleanup_buffers() {
m_out.finalize(); m_out.finalize();
} }

View file

@ -47,9 +47,6 @@ void fpa_decl_plugin::set_manager(ast_manager * m, family_id id) {
m_bv_plugin = static_cast<bv_decl_plugin*>(m_manager->get_plugin(m_bv_fid)); m_bv_plugin = static_cast<bv_decl_plugin*>(m_manager->get_plugin(m_bv_fid));
} }
fpa_decl_plugin::~fpa_decl_plugin() {
}
unsigned fpa_decl_plugin::mk_id(mpf const & v) { unsigned fpa_decl_plugin::mk_id(mpf const & v) {
unsigned new_id = m_id_gen.mk(); unsigned new_id = m_id_gen.mk();
m_values.reserve(new_id+1); m_values.reserve(new_id+1);
@ -961,9 +958,6 @@ fpa_util::fpa_util(ast_manager & m):
m_plugin = static_cast<fpa_decl_plugin*>(m.get_plugin(m_fid)); m_plugin = static_cast<fpa_decl_plugin*>(m.get_plugin(m_fid));
} }
fpa_util::~fpa_util() {
}
sort * fpa_util::mk_float_sort(unsigned ebits, unsigned sbits) { sort * fpa_util::mk_float_sort(unsigned ebits, unsigned sbits) {
parameter ps[2] = { parameter(ebits), parameter(sbits) }; parameter ps[2] = { parameter(ebits), parameter(sbits) };
return m().mk_sort(m_fid, FLOATING_POINT_SORT, 2, ps); return m().mk_sort(m_fid, FLOATING_POINT_SORT, 2, ps);

View file

@ -175,7 +175,6 @@ public:
bool is_float_sort(sort * s) const { return is_sort_of(s, m_family_id, FLOATING_POINT_SORT); } bool is_float_sort(sort * s) const { return is_sort_of(s, m_family_id, FLOATING_POINT_SORT); }
bool is_rm_sort(sort * s) const { return is_sort_of(s, m_family_id, ROUNDING_MODE_SORT); } bool is_rm_sort(sort * s) const { return is_sort_of(s, m_family_id, ROUNDING_MODE_SORT); }
~fpa_decl_plugin() override;
void finalize() override; void finalize() override;
decl_plugin * mk_fresh() override; decl_plugin * mk_fresh() override;
@ -216,7 +215,6 @@ class fpa_util {
public: public:
fpa_util(ast_manager & m); fpa_util(ast_manager & m);
~fpa_util();
ast_manager & m() const { return m_manager; } ast_manager & m() const { return m_manager; }
mpf_manager & fm() const { return m_plugin->fm(); } mpf_manager & fm() const { return m_plugin->fm(); }

View file

@ -40,9 +40,6 @@ public:
SASSERT(!m_hint || !m_cond); SASSERT(!m_hint || !m_cond);
} }
~cond_macro() {
}
func_decl * get_f() const { return m_f; } func_decl * get_f() const { return m_f; }
expr * get_def() const { return m_def; } expr * get_def() const { return m_def; }

View file

@ -269,9 +269,6 @@ macro_finder::macro_finder(ast_manager & m, macro_manager & mm):
m_autil(m) { m_autil(m) {
} }
macro_finder::~macro_finder() {
}
bool macro_finder::expand_macros(expr_ref_vector const& exprs, proof_ref_vector const& prs, expr_dependency_ref_vector const& deps, expr_ref_vector & new_exprs, proof_ref_vector & new_prs, expr_dependency_ref_vector & new_deps) { bool macro_finder::expand_macros(expr_ref_vector const& exprs, proof_ref_vector const& prs, expr_dependency_ref_vector const& deps, expr_ref_vector & new_exprs, proof_ref_vector & new_prs, expr_dependency_ref_vector & new_deps) {
TRACE("macro_finder", tout << "starting expand_macros:\n"; TRACE("macro_finder", tout << "starting expand_macros:\n";
m_macro_manager.display(tout);); m_macro_manager.display(tout););

View file

@ -43,7 +43,6 @@ class macro_finder {
public: public:
macro_finder(ast_manager & m, macro_manager & mm); macro_finder(ast_manager & m, macro_manager & mm);
~macro_finder();
void operator()(expr_ref_vector const& exprs, proof_ref_vector const& prs, expr_dependency_ref_vector const& deps, expr_ref_vector & new_exprs, proof_ref_vector & new_prs, expr_dependency_ref_vector & new_deps); void operator()(expr_ref_vector const& exprs, proof_ref_vector const& prs, expr_dependency_ref_vector const& deps, expr_ref_vector & new_exprs, proof_ref_vector & new_prs, expr_dependency_ref_vector & new_deps);
void operator()(unsigned n, justified_expr const* fmls, vector<justified_expr>& new_fmls); void operator()(unsigned n, justified_expr const* fmls, vector<justified_expr>& new_fmls);
}; };

View file

@ -41,9 +41,6 @@ macro_manager::macro_manager(ast_manager & m):
m_util.set_forbidden_set(&m_forbidden_set); m_util.set_forbidden_set(&m_forbidden_set);
} }
macro_manager::~macro_manager() {
}
void macro_manager::push_scope() { void macro_manager::push_scope() {
m_scopes.push_back(scope()); m_scopes.push_back(scope());
scope & s = m_scopes.back(); scope & s = m_scopes.back();

View file

@ -64,7 +64,6 @@ class macro_manager {
public: public:
macro_manager(ast_manager & m); macro_manager(ast_manager & m);
~macro_manager();
void copy_to(macro_manager& dst); void copy_to(macro_manager& dst);
ast_manager & get_manager() const { return m; } ast_manager & get_manager() const { return m; }
macro_util & get_util() { return m_util; } macro_util & get_util() { return m_util; }

View file

@ -31,9 +31,6 @@ quasi_macros::quasi_macros(ast_manager & m, macro_manager & mm) :
m_new_qsorts(m) { m_new_qsorts(m) {
} }
quasi_macros::~quasi_macros() {
}
void quasi_macros::find_occurrences(expr * e) { void quasi_macros::find_occurrences(expr * e) {
unsigned j; unsigned j;
m_todo.reset(); m_todo.reset();

View file

@ -60,7 +60,6 @@ class quasi_macros {
public: public:
quasi_macros(ast_manager & m, macro_manager & mm); quasi_macros(ast_manager & m, macro_manager & mm);
~quasi_macros();
/** /**
\brief Find pure function macros and apply them. \brief Find pure function macros and apply them.

View file

@ -57,7 +57,7 @@ struct defined_names::impl {
unsigned_vector m_lims; //!< Backtracking support. unsigned_vector m_lims; //!< Backtracking support.
impl(ast_manager & m, char const * prefix); impl(ast_manager & m, char const * prefix);
virtual ~impl(); virtual ~impl() = default;
app * gen_name(expr * e, sort_ref_buffer & var_sorts, buffer<symbol> & var_names); app * gen_name(expr * e, sort_ref_buffer & var_sorts, buffer<symbol> & var_names);
void cache_new_name(expr * e, app * name); void cache_new_name(expr * e, app * name);
@ -90,9 +90,6 @@ defined_names::impl::impl(ast_manager & m, char const * prefix):
m_z3name = prefix; m_z3name = prefix;
} }
defined_names::impl::~impl() {
}
/** /**
\brief Given an expression \c e that may contain free variables, return an application (sk x_1 ... x_n), \brief Given an expression \c e that may contain free variables, return an application (sk x_1 ... x_n),
where sk is a fresh variable name, and x_i's are the free variables of \c e. where sk is a fresh variable name, and x_i's are the free variables of \c e.

View file

@ -41,9 +41,6 @@ expr_pattern_match::expr_pattern_match(ast_manager & manager):
m_manager(manager), m_precompiled(manager) { m_manager(manager), m_precompiled(manager) {
} }
expr_pattern_match::~expr_pattern_match() {
}
bool bool
expr_pattern_match::match_quantifier(quantifier* qf, app_ref_vector& patterns, unsigned& weight) { expr_pattern_match::match_quantifier(quantifier* qf, app_ref_vector& patterns, unsigned& weight) {
if (m_regs.empty()) { if (m_regs.empty()) {

View file

@ -116,7 +116,6 @@ class expr_pattern_match {
public: public:
expr_pattern_match(ast_manager & manager); expr_pattern_match(ast_manager & manager);
~expr_pattern_match();
bool match_quantifier(quantifier * qf, app_ref_vector & patterns, unsigned & weight); bool match_quantifier(quantifier * qf, app_ref_vector & patterns, unsigned & weight);
bool match_quantifier_index(quantifier* qf, app_ref_vector & patterns, unsigned& index); bool match_quantifier_index(quantifier* qf, app_ref_vector & patterns, unsigned& index);
unsigned initialize(quantifier* qf); unsigned initialize(quantifier* qf);

View file

@ -366,9 +366,6 @@ namespace recfun {
m_plugin(dynamic_cast<decl::plugin*>(m.get_plugin(m_fid))) { m_plugin(dynamic_cast<decl::plugin*>(m.get_plugin(m_fid))) {
} }
util::~util() {
}
def * util::decl_fun(symbol const& name, unsigned n, sort *const * domain, sort * range, bool is_generated) { def * util::decl_fun(symbol const& name, unsigned n, sort *const * domain, sort * range, bool is_generated) {
return alloc(def, m(), m_fid, name, n, domain, range, is_generated); return alloc(def, m(), m_fid, name, n, domain, range, is_generated);
} }

View file

@ -237,7 +237,6 @@ namespace recfun {
public: public:
util(ast_manager &m); util(ast_manager &m);
~util();
ast_manager & m() { return m_manager; } ast_manager & m() { return m_manager; }
family_id get_family_id() const { return m_fid; } family_id get_family_id() const { return m_fid; }

View file

@ -28,10 +28,6 @@ bvsls_opt_engine::bvsls_opt_engine(ast_manager & m, params_ref const & p) :
m_best_model = alloc(model, m); m_best_model = alloc(model, m);
} }
bvsls_opt_engine::~bvsls_opt_engine()
{
}
bvsls_opt_engine::optimization_result bvsls_opt_engine::optimize( bvsls_opt_engine::optimization_result bvsls_opt_engine::optimize(
expr_ref const & objective, expr_ref const & objective,
model_ref initial_model, model_ref initial_model,

View file

@ -31,7 +31,6 @@ class bvsls_opt_engine : public sls_engine {
public: public:
bvsls_opt_engine(ast_manager & m, params_ref const & p); bvsls_opt_engine(ast_manager & m, params_ref const & p);
~bvsls_opt_engine();
class optimization_result { class optimization_result {
public: public:

View file

@ -2464,9 +2464,6 @@ cmd_context::dt_eh::dt_eh(cmd_context & owner):
m_dt_util(owner.m()) { m_dt_util(owner.m()) {
} }
cmd_context::dt_eh::~dt_eh() {
}
void cmd_context::dt_eh::operator()(sort * dt, pdecl* pd) { void cmd_context::dt_eh::operator()(sort * dt, pdecl* pd) {
TRACE("new_dt_eh", tout << "new datatype: "; m_owner.pm().display(tout, dt); tout << "\n";); TRACE("new_dt_eh", tout << "new datatype: "; m_owner.pm().display(tout, dt); tout << "\n";);
for (func_decl * c : *m_dt_util.get_datatype_constructors(dt)) { for (func_decl * c : *m_dt_util.get_datatype_constructors(dt)) {

View file

@ -305,7 +305,6 @@ protected:
public: public:
void reset() { m_dt_util.reset(); } void reset() { m_dt_util.reset(); }
dt_eh(cmd_context & owner); dt_eh(cmd_context & owner);
~dt_eh() override;
void operator()(sort * dt, pdecl* pd) override; void operator()(sort * dt, pdecl* pd) override;
}; };

View file

@ -27,7 +27,6 @@ Notes:
#include "ast/ast_smt2_pp.h" #include "ast/ast_smt2_pp.h"
#include "tactic/tactic.h" #include "tactic/tactic.h"
#include "tactic/tactical.h" #include "tactic/tactical.h"
#include "tactic/probe.h"
#include "solver/check_sat_result.h" #include "solver/check_sat_result.h"
#include "cmd_context/cmd_context_to_goal.h" #include "cmd_context/cmd_context_to_goal.h"
#include "cmd_context/echo_tactic.h" #include "cmd_context/echo_tactic.h"
@ -38,9 +37,6 @@ probe_info::probe_info(symbol const & n, char const * d, probe * p):
m_probe(p) { m_probe(p) {
} }
probe_info::~probe_info() {
}
class declare_tactic_cmd : public cmd { class declare_tactic_cmd : public cmd {
symbol m_name; symbol m_name;
sexpr * m_decl; sexpr * m_decl;

View file

@ -18,12 +18,12 @@ Notes:
#pragma once #pragma once
#include "ast/ast.h" #include "ast/ast.h"
#include "tactic/probe.h"
#include "util/params.h" #include "util/params.h"
#include "util/cmd_context_types.h" #include "util/cmd_context_types.h"
#include "util/ref.h" #include "util/ref.h"
class tactic; class tactic;
class probe;
typedef tactic* (*tactic_factory)(ast_manager&, const params_ref&); typedef tactic* (*tactic_factory)(ast_manager&, const params_ref&);
@ -52,7 +52,6 @@ class probe_info {
ref<probe> m_probe; ref<probe> m_probe;
public: public:
probe_info(symbol const & n, char const * d, probe * p); probe_info(symbol const & n, char const * d, probe * p);
~probe_info();
symbol get_name() const { return m_name; } symbol get_name() const { return m_name; }
char const * get_descr() const { return m_descr; } char const * get_descr() const { return m_descr; }

View file

@ -21,7 +21,5 @@ Revision History:
#include "math/lp/core_solver_pretty_printer_def.h" #include "math/lp/core_solver_pretty_printer_def.h"
template lp::core_solver_pretty_printer<lp::mpq, lp::mpq>::core_solver_pretty_printer(const lp::lp_core_solver_base<lp::mpq, lp::mpq> &, std::ostream & out); template lp::core_solver_pretty_printer<lp::mpq, lp::mpq>::core_solver_pretty_printer(const lp::lp_core_solver_base<lp::mpq, lp::mpq> &, std::ostream & out);
template void lp::core_solver_pretty_printer<lp::mpq, lp::mpq>::print(); template void lp::core_solver_pretty_printer<lp::mpq, lp::mpq>::print();
template lp::core_solver_pretty_printer<lp::mpq, lp::mpq>::~core_solver_pretty_printer();
template lp::core_solver_pretty_printer<lp::mpq, lp::numeric_pair<lp::mpq> >::core_solver_pretty_printer(const lp::lp_core_solver_base<lp::mpq, lp::numeric_pair<lp::mpq> > &, std::ostream & out); template lp::core_solver_pretty_printer<lp::mpq, lp::numeric_pair<lp::mpq> >::core_solver_pretty_printer(const lp::lp_core_solver_base<lp::mpq, lp::numeric_pair<lp::mpq> > &, std::ostream & out);
template lp::core_solver_pretty_printer<lp::mpq, lp::numeric_pair<lp::mpq> >::~core_solver_pretty_printer();
template void lp::core_solver_pretty_printer<lp::mpq, lp::numeric_pair<lp::mpq> >::print(); template void lp::core_solver_pretty_printer<lp::mpq, lp::numeric_pair<lp::mpq> >::print();

View file

@ -66,7 +66,6 @@ public:
void init_costs(); void init_costs();
~core_solver_pretty_printer();
void init_rs_width(); void init_rs_width();
T current_column_norm(); T current_column_norm();

View file

@ -67,8 +67,6 @@ template <typename T, typename X> void core_solver_pretty_printer<T, X>::init_co
} }
template <typename T, typename X> core_solver_pretty_printer<T, X>::~core_solver_pretty_printer() {
}
template <typename T, typename X> void core_solver_pretty_printer<T, X>::init_rs_width() { template <typename T, typename X> void core_solver_pretty_printer<T, X>::init_rs_width() {
m_rs_width = static_cast<unsigned>(T_to_string(m_core_solver.get_cost()).size()); m_rs_width = static_cast<unsigned>(T_to_string(m_core_solver.get_cost()).size());
for (unsigned i = 0; i < nrows(); i++) { for (unsigned i = 0; i < nrows(); i++) {

View file

@ -121,9 +121,6 @@ namespace algebraic_numbers {
m_y = pm().mk_var(); m_y = pm().mk_var();
} }
~imp() {
}
bool acell_inv(algebraic_cell const& c) { bool acell_inv(algebraic_cell const& c) {
auto s = upm().eval_sign_at(c.m_p_sz, c.m_p, lower(&c)); auto s = upm().eval_sign_at(c.m_p_sz, c.m_p, lower(&c));
return s == sign_zero || c.m_sign_lower == (s == sign_neg); return s == sign_zero || c.m_sign_lower == (s == sign_neg);

View file

@ -36,9 +36,6 @@ mpz_matrix_manager::mpz_matrix_manager(unsynch_mpz_manager & nm, small_object_al
m_allocator(a) { m_allocator(a) {
} }
mpz_matrix_manager::~mpz_matrix_manager() {
}
void mpz_matrix_manager::mk(unsigned m, unsigned n, mpz_matrix & A) { void mpz_matrix_manager::mk(unsigned m, unsigned n, mpz_matrix & A) {
SASSERT(m > 0 && n > 0); SASSERT(m > 0 && n > 0);
del(A); del(A);

View file

@ -63,7 +63,6 @@ class mpz_matrix_manager {
bool solve_core(mpz_matrix const & A, mpz * b, bool int_solver); bool solve_core(mpz_matrix const & A, mpz * b, bool int_solver);
public: public:
mpz_matrix_manager(unsynch_mpz_manager & nm, small_object_allocator & a); mpz_matrix_manager(unsynch_mpz_manager & nm, small_object_allocator & a);
~mpz_matrix_manager();
unsynch_mpz_manager & nm() const { return m_nm; } unsynch_mpz_manager & nm() const { return m_nm; }
void mk(unsigned m, unsigned n, mpz_matrix & A); void mk(unsigned m, unsigned n, mpz_matrix & A);
void del(mpz_matrix & r); void del(mpz_matrix & r);

View file

@ -410,8 +410,6 @@ namespace realclosure {
sbuffer<unsigned> m_szs; // size of each polynomial in the sequence sbuffer<unsigned> m_szs; // size of each polynomial in the sequence
public: public:
scoped_polynomial_seq(imp & m):m_seq_coeffs(m) {} scoped_polynomial_seq(imp & m):m_seq_coeffs(m) {}
~scoped_polynomial_seq() {
}
/** /**
\brief Add a new polynomial to the sequence. \brief Add a new polynomial to the sequence.

View file

@ -28,9 +28,6 @@ arith_factory::arith_factory(ast_manager & m):
m_util(m) { m_util(m) {
} }
arith_factory::~arith_factory() {
}
app * arith_factory::mk_num_value(rational const & val, bool is_int) { app * arith_factory::mk_num_value(rational const & val, bool is_int) {
return numeral_factory::mk_value(val, is_int ? m_util.mk_int() : m_util.mk_real()); return numeral_factory::mk_value(val, is_int ? m_util.mk_int() : m_util.mk_real());
} }
@ -40,9 +37,6 @@ bv_factory::bv_factory(ast_manager & m):
m_util(m) { m_util(m) {
} }
bv_factory::~bv_factory() {
}
app * bv_factory::mk_value_core(rational const & val, sort * s) { app * bv_factory::mk_value_core(rational const & val, sort * s) {
return m_util.mk_numeral(val, s); return m_util.mk_numeral(val, s);
} }

View file

@ -34,7 +34,6 @@ class arith_factory : public numeral_factory {
public: public:
arith_factory(ast_manager & m); arith_factory(ast_manager & m);
~arith_factory() override;
app * mk_num_value(rational const & val, bool is_int); app * mk_num_value(rational const & val, bool is_int);
}; };
@ -46,7 +45,6 @@ class bv_factory : public numeral_factory {
public: public:
bv_factory(ast_manager & m); bv_factory(ast_manager & m);
~bv_factory() override;
app * mk_num_value(rational const & val, unsigned bv_size); app * mk_num_value(rational const & val, unsigned bv_size);
}; };

View file

@ -25,9 +25,6 @@ value_factory::value_factory(ast_manager & m, family_id fid):
m_fid(fid) { m_fid(fid) {
} }
value_factory::~value_factory() {
}
basic_factory::basic_factory(ast_manager & m, unsigned seed): basic_factory::basic_factory(ast_manager & m, unsigned seed):
value_factory(m, m.get_basic_family_id()), m_rand(seed) { value_factory(m, m.get_basic_family_id()), m_rand(seed) {
} }

View file

@ -31,7 +31,7 @@ protected:
public: public:
value_factory(ast_manager & m, family_id fid); value_factory(ast_manager & m, family_id fid);
virtual ~value_factory(); virtual ~value_factory() = default;
/** /**
\brief Return some value of the given sort. The result is always different from zero. \brief Return some value of the given sort. The result is always different from zero.

View file

@ -26,9 +26,6 @@ bind_variables::bind_variables(ast_manager & m):
m_pinned(m) m_pinned(m)
{} {}
bind_variables::~bind_variables() {
}
expr_ref bind_variables::operator()(expr* fml, bool is_forall) { expr_ref bind_variables::operator()(expr* fml, bool is_forall) {
if (m_vars.empty()) { if (m_vars.empty()) {
return expr_ref(fml, m); return expr_ref(fml, m);

View file

@ -40,7 +40,6 @@ class bind_variables {
expr_ref abstract(expr* fml, cache_t& cache, unsigned scope); expr_ref abstract(expr* fml, cache_t& cache, unsigned scope);
public: public:
bind_variables(ast_manager & m); bind_variables(ast_manager & m);
~bind_variables();
expr_ref operator()(expr* fml, bool is_forall); expr_ref operator()(expr* fml, bool is_forall);

View file

@ -267,9 +267,6 @@ public:
next(); next();
} }
dlexer() {
}
void set_stream(std::istream* s, char_reader* r) { void set_stream(std::istream* s, char_reader* r) {
m_input = s; m_input = s;
m_reader = r; m_reader = r;

View file

@ -150,8 +150,6 @@ namespace datalog {
m(rm.get_context().get_manager()), m(rm.get_context().get_manager()),
m_base(nullptr) { m_base(nullptr) {
} }
check_relation_plugin::~check_relation_plugin() {
}
check_relation& check_relation_plugin::get(relation_base& r) { check_relation& check_relation_plugin::get(relation_base& r) {
return dynamic_cast<check_relation&>(r); return dynamic_cast<check_relation&>(r);
} }

View file

@ -89,7 +89,6 @@ namespace datalog {
unsigned_vector const& cols1, unsigned_vector const& cols2); unsigned_vector const& cols1, unsigned_vector const& cols2);
public: public:
check_relation_plugin(relation_manager& rm); check_relation_plugin(relation_manager& rm);
~check_relation_plugin() override;
void set_plugin(relation_plugin* p) { m_base = p; } void set_plugin(relation_plugin* p) { m_base = p; }
bool can_handle_signature(const relation_signature & s) override; bool can_handle_signature(const relation_signature & s) override;

View file

@ -34,9 +34,6 @@ namespace datalog {
{ {
} }
external_relation::~external_relation() {
}
void external_relation::mk_accessor(decl_kind k, func_decl_ref& fn, const relation_fact& f, bool destructive, expr_ref& res) const { void external_relation::mk_accessor(decl_kind k, func_decl_ref& fn, const relation_fact& f, bool destructive, expr_ref& res) const {
ast_manager& m = m_rel.get_manager(); ast_manager& m = m_rel.get_manager();
family_id fid = get_plugin().get_family_id(); family_id fid = get_plugin().get_family_id();

View file

@ -122,7 +122,6 @@ namespace datalog {
void mk_accessor(decl_kind k, func_decl_ref& fn, const relation_fact& f, bool destructive, expr_ref& res) const; void mk_accessor(decl_kind k, func_decl_ref& fn, const relation_fact& f, bool destructive, expr_ref& res) const;
external_relation(external_relation_plugin & p, const relation_signature & s, expr* r); external_relation(external_relation_plugin & p, const relation_signature & s, expr* r);
~external_relation() override;
public: public:
external_relation_plugin & get_plugin() const; external_relation_plugin & get_plugin() const;

View file

@ -631,9 +631,6 @@ namespace datalog {
); );
} }
mk_explanations::~mk_explanations() {
}
func_decl * mk_explanations::get_union_decl(context & ctx) { func_decl * mk_explanations::get_union_decl(context & ctx) {
ast_manager & m = ctx.get_manager(); ast_manager & m = ctx.get_manager();
sort_ref s(ctx.get_decl_util().mk_rule_sort(), m); sort_ref s(ctx.get_decl_util().mk_rule_sort(), m);

View file

@ -65,8 +65,6 @@ namespace datalog {
*/ */
mk_explanations(context & ctx); mk_explanations(context & ctx);
~mk_explanations() override;
/** /**
\brief Return explanation predicate that corresponds to \c orig_decl. \brief Return explanation predicate that corresponds to \c orig_decl.
*/ */

View file

@ -38,9 +38,6 @@ namespace datalog {
m_rewriter.updt_params(m_params); m_rewriter.updt_params(m_params);
} }
mk_array_blast::~mk_array_blast() {
}
bool mk_array_blast::is_store_def(expr* e, expr*& x, expr*& y) { bool mk_array_blast::is_store_def(expr* e, expr*& x, expr*& y) {
if (m.is_eq(e, x, y)) { if (m.is_eq(e, x, y)) {
if (!a.is_store(y)) { if (!a.is_store(y)) {

View file

@ -65,8 +65,6 @@ namespace datalog {
*/ */
mk_array_blast(context & ctx, unsigned priority); mk_array_blast(context & ctx, unsigned priority);
~mk_array_blast() override;
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;
}; };

View file

@ -149,9 +149,6 @@ namespace datalog {
m_mc(nullptr) { m_mc(nullptr) {
} }
mk_quantifier_abstraction::~mk_quantifier_abstraction() {
}
func_decl* mk_quantifier_abstraction::declare_pred(rule_set const& rules, rule_set& dst, func_decl* old_p) { func_decl* mk_quantifier_abstraction::declare_pred(rule_set const& rules, rule_set& dst, func_decl* old_p) {
if (rules.is_output_predicate(old_p)) { if (rules.is_output_predicate(old_p)) {

View file

@ -50,8 +50,6 @@ namespace datalog {
public: public:
mk_quantifier_abstraction(context & ctx, unsigned priority); mk_quantifier_abstraction(context & ctx, unsigned priority);
~mk_quantifier_abstraction() override;
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;
}; };

View file

@ -41,9 +41,6 @@ namespace datalog {
m_cnst2var(m) { m_cnst2var(m) {
} }
mk_quantifier_instantiation::~mk_quantifier_instantiation() {
}
void mk_quantifier_instantiation::extract_quantifiers(rule& r, expr_ref_vector& conjs, quantifier_ref_vector& qs) { void mk_quantifier_instantiation::extract_quantifiers(rule& r, expr_ref_vector& conjs, quantifier_ref_vector& qs) {
conjs.reset(); conjs.reset();
qs.reset(); qs.reset();

View file

@ -60,8 +60,6 @@ namespace datalog {
public: public:
mk_quantifier_instantiation(context & ctx, unsigned priority); mk_quantifier_instantiation(context & ctx, unsigned priority);
~mk_quantifier_instantiation() override;
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;
}; };

View file

@ -110,9 +110,6 @@ namespace datalog {
m_eqs(m) { m_eqs(m) {
} }
mk_scale::~mk_scale() {
}
rule_set * mk_scale::operator()(rule_set const & source) { rule_set * mk_scale::operator()(rule_set const & source) {
if (!m_ctx.scale()) { if (!m_ctx.scale()) {
return nullptr; return nullptr;

View file

@ -42,7 +42,6 @@ namespace datalog {
app_ref mk_constraint(unsigned num_vars, app* q); app_ref mk_constraint(unsigned num_vars, app* q);
public: public:
mk_scale(context & ctx, unsigned priority = 33039); mk_scale(context & ctx, unsigned priority = 33039);
~mk_scale() override;
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;
}; };

View file

@ -157,9 +157,6 @@ namespace nlsat {
m_signed_project = false; m_signed_project = false;
} }
~imp() {
}
std::ostream& display(std::ostream & out, polynomial_ref const & p) const { std::ostream& display(std::ostream & out, polynomial_ref const & p) const {
m_pm.display(out, p, m_solver.display_proc()); m_pm.display(out, p, m_solver.display_proc());
return out; return out;

View file

@ -113,9 +113,6 @@ namespace nlsat {
m_allocator(a) { m_allocator(a) {
} }
interval_set_manager::~interval_set_manager() {
}
void interval_set_manager::del(interval_set * s) { void interval_set_manager::del(interval_set * s) {
if (s == nullptr) if (s == nullptr)
return; return;

View file

@ -33,7 +33,6 @@ namespace nlsat {
void del(interval_set * s); void del(interval_set * s);
public: public:
interval_set_manager(anum_manager & m, small_object_allocator & a); interval_set_manager(anum_manager & m, small_object_allocator & a);
~interval_set_manager();
void set_seed(unsigned s) { m_rand.set_seed(s); } void set_seed(unsigned s) { m_rand.set_seed(s); }

View file

@ -59,9 +59,6 @@ namespace opt {
unsigned opt_solver::m_dump_count = 0; unsigned opt_solver::m_dump_count = 0;
opt_solver::~opt_solver() {
}
void opt_solver::updt_params(params_ref const & _p) { void opt_solver::updt_params(params_ref const & _p) {
opt_params p(_p); opt_params p(_p);
m_dump_benchmarks = p.dump_benchmarks(); m_dump_benchmarks = p.dump_benchmarks();

View file

@ -85,7 +85,6 @@ namespace opt {
bool m_was_unknown; bool m_was_unknown;
public: public:
opt_solver(ast_manager & m, params_ref const & p, generic_model_converter& fm); opt_solver(ast_manager & m, params_ref const & p, generic_model_converter& fm);
~opt_solver() override;
solver* translate(ast_manager& m, params_ref const& p) override; solver* translate(ast_manager& m, params_ref const& p) override;
void updt_params(params_ref const& p) override; void updt_params(params_ref const& p) override;

View file

@ -123,9 +123,6 @@ namespace smt {
one = mpz(1); one = mpz(1);
} }
~imp() {
}
void reset() { void reset() {
init_max_flips(); init_max_flips();
m_non_greedy_percent = 30; m_non_greedy_percent = 30;

View file

@ -28,9 +28,6 @@ simple_parser::simple_parser(ast_manager & m):
m_exprs(m) { m_exprs(m) {
} }
simple_parser::~simple_parser() {
}
void simple_parser::add_builtin_op(symbol const & s, family_id fid, decl_kind kind) { void simple_parser::add_builtin_op(symbol const & s, family_id fid, decl_kind kind) {
SASSERT(!m_builtin.contains(s)); SASSERT(!m_builtin.contains(s));
SASSERT(!m_vars.contains(s)); SASSERT(!m_vars.contains(s));

View file

@ -45,7 +45,7 @@ protected:
expr * parse_expr(scanner & s); expr * parse_expr(scanner & s);
public: public:
simple_parser(ast_manager & m); simple_parser(ast_manager & m);
virtual ~simple_parser(); virtual ~simple_parser() = default;
void add_builtin_op(symbol const & s, family_id fid, decl_kind kind); void add_builtin_op(symbol const & s, family_id fid, decl_kind kind);
void add_builtin_op(char const * str, family_id fid, decl_kind kind); void add_builtin_op(char const * str, family_id fid, decl_kind kind);
void add_var(symbol const & s, var * v); void add_var(symbol const & s, var * v);

View file

@ -353,9 +353,6 @@ namespace sat {
DEBUG_CODE(verify_unsat_stack();); DEBUG_CODE(verify_unsat_stack(););
} }
local_search::local_search() {
}
void local_search::reinit(solver& s, bool_vector const& phase) { void local_search::reinit(solver& s, bool_vector const& phase) {
import(s, true); import(s, true);
for (unsigned i = phase.size(); i-- > 0; ) for (unsigned i = phase.size(); i-- > 0; )
@ -420,10 +417,6 @@ namespace sat {
init(); init();
} }
local_search::~local_search() {
}
lbool local_search::check() { lbool local_search::check() {
return check(0, nullptr, nullptr); return check(0, nullptr, nullptr);
} }

View file

@ -228,10 +228,6 @@ namespace sat {
public: public:
local_search();
~local_search() override;
reslimit& rlimit() override { return m_limit; } reslimit& rlimit() override { return m_limit; }
lbool check(unsigned sz, literal const* assumptions, parallel* p) override; lbool check(unsigned sz, literal const* assumptions, parallel* p) override;

View file

@ -23,13 +23,6 @@ Revision History:
namespace sat { namespace sat {
model_converter::model_converter(): m_exposed_lim(0), m_solver(nullptr) {
}
model_converter::~model_converter() {
}
model_converter& model_converter::operator=(model_converter const& other) { model_converter& model_converter::operator=(model_converter const& other) {
copy(other); copy(other);
return *this; return *this;

View file

@ -79,9 +79,9 @@ namespace sat {
}; };
private: private:
vector<entry> m_entries; // entries accumulated during SAT search vector<entry> m_entries; // entries accumulated during SAT search
unsigned m_exposed_lim; // last entry that was exposed to model converter. unsigned m_exposed_lim = 0; // last entry that was exposed to model converter.
bool_vector m_mark; // literals that are used in asserted clauses. bool_vector m_mark; // literals that are used in asserted clauses.
solver const* m_solver; solver const* m_solver = nullptr;
elim_stackv m_elim_stack; elim_stackv m_elim_stack;
void process_stack(model & m, literal_vector const& clause, elim_stackv const& stack) const; void process_stack(model & m, literal_vector const& clause, elim_stackv const& stack) const;
@ -95,8 +95,6 @@ namespace sat {
void add_elim_stack(entry & e); void add_elim_stack(entry & e);
public: public:
model_converter();
~model_converter();
void set_solver(solver const* s) { m_solver = s; } void set_solver(solver const* s) { m_solver = s; }
void operator()(model & m) const; void operator()(model & m) const;
model_converter& operator=(model_converter const& other); model_converter& operator=(model_converter const& other);

View file

@ -296,9 +296,6 @@ namespace euf {
add_plugin(alloc(bv::theory_checker, m)); add_plugin(alloc(bv::theory_checker, m));
} }
theory_checker::~theory_checker() {
}
void theory_checker::add_plugin(theory_checker_plugin* p) { void theory_checker::add_plugin(theory_checker_plugin* p) {
m_plugins.push_back(p); m_plugins.push_back(p);
p->register_plugins(*this); p->register_plugins(*this);

View file

@ -45,7 +45,6 @@ namespace euf {
void add_plugin(theory_checker_plugin* p); void add_plugin(theory_checker_plugin* p);
public: public:
theory_checker(ast_manager& m); theory_checker(ast_manager& m);
~theory_checker();
void register_plugin(symbol const& rule, theory_checker_plugin*); void register_plugin(symbol const& rule, theory_checker_plugin*);
bool check(expr* jst); bool check(expr* jst);
expr_ref_vector clause(expr* jst); expr_ref_vector clause(expr* jst);

View file

@ -2000,9 +2000,6 @@ namespace q {
m_args.resize(INIT_ARGS_SIZE); m_args.resize(INIT_ARGS_SIZE);
} }
~interpreter() {
}
void init(code_tree * t) { void init(code_tree * t) {
TRACE("mam_bug", tout << "preparing to match tree:\n" << *t << "\n";); TRACE("mam_bug", tout << "preparing to match tree:\n" << *t << "\n";);
m_registers.reserve(t->get_num_regs(), nullptr); m_registers.reserve(t->get_num_regs(), nullptr);

View file

@ -32,9 +32,6 @@ namespace specrel {
ctx.get_egraph().add_plugin(alloc(euf::specrel_plugin, ctx.get_egraph())); ctx.get_egraph().add_plugin(alloc(euf::specrel_plugin, ctx.get_egraph()));
} }
solver::~solver() {
}
void solver::asserted(sat::literal l) { void solver::asserted(sat::literal l) {
} }

View file

@ -39,7 +39,6 @@ namespace specrel {
public: public:
solver(euf::solver& ctx, theory_id id); solver(euf::solver& ctx, theory_id id);
~solver() override;
bool is_external(bool_var v) override { return false; } bool is_external(bool_var v) override { return false; }
void get_antecedents(literal l, sat::ext_justification_idx idx, literal_vector& r, bool probing) override {} void get_antecedents(literal l, sat::ext_justification_idx idx, literal_vector& r, bool probing) override {}

View file

@ -1995,9 +1995,6 @@ namespace {
m_args.resize(INIT_ARGS_SIZE); m_args.resize(INIT_ARGS_SIZE);
} }
~interpreter() {
}
void init(code_tree * t) { void init(code_tree * t) {
TRACE("mam_bug", tout << "preparing to match tree:\n" << *t << "\n";); TRACE("mam_bug", tout << "preparing to match tree:\n" << *t << "\n";);
m_registers.reserve(t->get_num_regs(), nullptr); m_registers.reserve(t->get_num_regs(), nullptr);

View file

@ -43,9 +43,6 @@ namespace smt {
m_vals.resize(15, 0.0f); m_vals.resize(15, 0.0f);
} }
qi_queue::~qi_queue() {
}
void qi_queue::setup() { void qi_queue::setup() {
TRACE("qi_cost", tout << "qi_cost: " << m_params.m_qi_cost << "\n";); TRACE("qi_cost", tout << "qi_cost: " << m_params.m_qi_cost << "\n";);
if (!m_parser.parse_string(m_params.m_qi_cost.c_str(), m_cost_function)) { if (!m_parser.parse_string(m_params.m_qi_cost.c_str(), m_cost_function)) {

View file

@ -80,7 +80,6 @@ namespace smt {
public: public:
qi_queue(quantifier_manager & qm, context & ctx, qi_params & params); qi_queue(quantifier_manager & qm, context & ctx, qi_params & params);
~qi_queue();
void setup(); void setup();
/** /**
\brief Insert a new quantifier in the queue, f contains the quantifier and bindings. \brief Insert a new quantifier in the queue, f contains the quantifier and bindings.

View file

@ -52,9 +52,6 @@ namespace smt {
{ {
} }
conflict_resolution::~conflict_resolution() {
}
/** /**
\brief Mark all enodes in a 'proof' tree branch starting at n \brief Mark all enodes in a 'proof' tree branch starting at n
n -> ... -> root n -> ... -> root

View file

@ -208,7 +208,7 @@ namespace smt {
vector<watch_list> & watches vector<watch_list> & watches
); );
virtual ~conflict_resolution(); virtual ~conflict_resolution() = default;
virtual bool resolve(b_justification conflict, literal not_l); virtual bool resolve(b_justification conflict, literal not_l);

View file

@ -177,9 +177,6 @@ namespace smt {
m_lazy(true) { m_lazy(true) {
} }
theory::~theory() {
}
smt_params const& theory::get_fparams() const { smt_params const& theory::get_fparams() const {
return ctx.get_fparams(); return ctx.get_fparams();
} }

View file

@ -388,7 +388,7 @@ namespace smt {
public: public:
theory(context& ctx, family_id fid); theory(context& ctx, family_id fid);
virtual ~theory(); virtual ~theory() = default;
virtual void setup() {} virtual void setup() {}

View file

@ -1054,7 +1054,6 @@ namespace smt {
// ----------------------------------- // -----------------------------------
public: public:
theory_arith(context& ctx); theory_arith(context& ctx);
~theory_arith() override;
theory * mk_fresh(context * new_ctx) override; theory * mk_fresh(context * new_ctx) override;

View file

@ -1737,10 +1737,6 @@ namespace smt {
m_bound_watch(null_bool_var) { m_bound_watch(null_bool_var) {
} }
template<typename Ext>
theory_arith<Ext>::~theory_arith() {
}
template<typename Ext> template<typename Ext>
theory* theory_arith<Ext>::mk_fresh(context* new_ctx) { theory* theory_arith<Ext>::mk_fresh(context* new_ctx) {
return alloc(theory_arith<Ext>, *new_ctx); return alloc(theory_arith<Ext>, *new_ctx);

View file

@ -1493,9 +1493,6 @@ namespace smt {
m_bb.set_flat_and_or(false); m_bb.set_flat_and_or(false);
} }
theory_bv::~theory_bv() {
}
theory* theory_bv::mk_fresh(context* new_ctx) { theory* theory_bv::mk_fresh(context* new_ctx) {
return alloc(theory_bv, *new_ctx); return alloc(theory_bv, *new_ctx);
} }

View file

@ -268,7 +268,6 @@ namespace smt {
typedef std::pair<enode*, unsigned> var_enode_pos; typedef std::pair<enode*, unsigned> var_enode_pos;
theory_bv(context& ctx); theory_bv(context& ctx);
~theory_bv() override;
theory * mk_fresh(context * new_ctx) override; theory * mk_fresh(context * new_ctx) override;

View file

@ -762,8 +762,7 @@ namespace smt {
m_util(m), m_util(m),
m_autil(m), m_autil(m),
m_sutil(m), m_sutil(m),
m_find(*this), m_find(*this) {
m_trail_stack() {
} }
theory_datatype::~theory_datatype() { theory_datatype::~theory_datatype() {

View file

@ -89,10 +89,6 @@ void asserted_formulas::setup() {
m_smt_params.m_relevancy_lemma = false; m_smt_params.m_relevancy_lemma = false;
} }
asserted_formulas::~asserted_formulas() {
}
void asserted_formulas::push_assertion(expr * e, proof * pr, vector<justified_expr>& result) { void asserted_formulas::push_assertion(expr * e, proof * pr, vector<justified_expr>& result) {
if (inconsistent()) { if (inconsistent()) {
return; return;

View file

@ -254,7 +254,6 @@ class asserted_formulas {
public: public:
asserted_formulas(ast_manager & m, smt_params & smtp, params_ref const& p); asserted_formulas(ast_manager & m, smt_params & smtp, params_ref const& p);
~asserted_formulas();
void finalize(); void finalize();
void updt_params(params_ref const& p); void updt_params(params_ref const& p);

View file

@ -58,9 +58,6 @@ simple_check_sat_result::simple_check_sat_result(ast_manager & m):
m_proof(m) { m_proof(m) {
} }
simple_check_sat_result::~simple_check_sat_result() {
}
void simple_check_sat_result::collect_statistics(statistics & st) const { void simple_check_sat_result::collect_statistics(statistics & st) const {
st.copy(m_stats); st.copy(m_stats);
} }

View file

@ -98,7 +98,6 @@ struct simple_check_sat_result : public check_sat_result {
std::string m_unknown; std::string m_unknown;
simple_check_sat_result(ast_manager & m); simple_check_sat_result(ast_manager & m);
~simple_check_sat_result() override;
ast_manager& get_manager() const override { return m_proof.get_manager(); } ast_manager& get_manager() const override { return m_proof.get_manager(); }
void collect_statistics(statistics & st) const override; void collect_statistics(statistics & st) const override;
void get_unsat_core(expr_ref_vector & r) override; void get_unsat_core(expr_ref_vector & r) override;

View file

@ -162,9 +162,6 @@ class injectivity_tactic : public tactic {
rewriter_eq_cfg(ast_manager & m, InjHelper & map, params_ref const & p) : m_manager(m), inj_map(map) { rewriter_eq_cfg(ast_manager & m, InjHelper & map, params_ref const & p) : m_manager(m), inj_map(map) {
} }
~rewriter_eq_cfg() {
}
void cleanup_buffers() { void cleanup_buffers() {
} }

View file

@ -31,9 +31,6 @@ struct simplify_tactic::imp {
m_num_steps(0) { m_num_steps(0) {
} }
~imp() {
}
ast_manager & m() const { return m_manager; } ast_manager & m() const { return m_manager; }

View file

@ -89,10 +89,6 @@ hwf_manager::hwf_manager() :
// to the precision (not sure about the rounding modes though). // to the precision (not sure about the rounding modes though).
} }
hwf_manager::~hwf_manager()
{
}
uint64_t RAW(double X) { uint64_t tmp; memcpy(&tmp, &(X), sizeof(uint64_t)); return tmp; } uint64_t RAW(double X) { uint64_t tmp; memcpy(&tmp, &(X), sizeof(uint64_t)); return tmp; }
double DBL(uint64_t X) { double tmp; memcpy(&tmp, &(X), sizeof(double)); return tmp; } double DBL(uint64_t X) { double tmp; memcpy(&tmp, &(X), sizeof(double)); return tmp; }

View file

@ -46,7 +46,6 @@ class hwf_manager {
public: public:
typedef hwf numeral; typedef hwf numeral;
hwf_manager(); hwf_manager();
~hwf_manager();
void reset(hwf & o) { set(o, 0); } void reset(hwf & o) { set(o, 0); }
void set(hwf & o, int value); void set(hwf & o, int value);

View file

@ -24,19 +24,6 @@ template<typename Key, typename Value>
struct _key_data { struct _key_data {
Key m_key; Key m_key;
Value m_value; Value m_value;
_key_data() {
}
_key_data(Key const & k):
m_key(k) {
}
_key_data(Key const & k, Value const & v):
m_key(k),
m_value(v) {
}
_key_data(Key const& k, Value&& v):
m_key(k),
m_value(std::move(v)) {
}
}; };
template<typename Entry, typename HashProc, typename EqProc> template<typename Entry, typename HashProc, typename EqProc>
@ -108,27 +95,27 @@ public:
} }
void insert(key const & k, value const & v) { void insert(key const & k, value const & v) {
m_table.insert(key_data(k, v)); m_table.insert(key_data{k, v});
} }
void insert(key const& k, value&& v) { void insert(key const& k, value&& v) {
m_table.insert(key_data(k, std::move(v))); m_table.insert(key_data{k, std::move(v)});
} }
bool insert_if_not_there_core(key const & k, value const & v, entry *& et) { bool insert_if_not_there_core(key const & k, value const & v, entry *& et) {
return m_table.insert_if_not_there_core(key_data(k,v), et); return m_table.insert_if_not_there_core(key_data{k,v}, et);
} }
value & insert_if_not_there(key const & k, value const & v) { value & insert_if_not_there(key const & k, value const & v) {
return m_table.insert_if_not_there2(key_data(k, v))->get_data().m_value; return m_table.insert_if_not_there2(key_data{k, v})->get_data().m_value;
} }
entry * insert_if_not_there3(key const & k, value const & v) { entry * insert_if_not_there3(key const & k, value const & v) {
return m_table.insert_if_not_there2(key_data(k, v)); return m_table.insert_if_not_there2(key_data{k, v});
} }
entry * find_core(key const & k) const { entry * find_core(key const & k) const {
return m_table.find_core(key_data(k)); return m_table.find_core(key_data{k});
} }
bool find(key const & k, value & v) const { bool find(key const & k, value & v) const {
@ -150,7 +137,7 @@ public:
} }
iterator find_iterator(key const & k) const { iterator find_iterator(key const & k) const {
return m_table.find(key_data(k)); return m_table.find(key_data{k});
} }
value const & find(key const& k) const { value const & find(key const& k) const {
@ -175,7 +162,7 @@ public:
} }
void remove(key const & k) { void remove(key const & k) {
m_table.remove(key_data(k)); m_table.remove(key_data{k});
} }
void erase(key const & k) { void erase(key const & k) {

View file

@ -60,7 +60,7 @@ public:
Value m_value; Value m_value;
key_data() = default; key_data() = default;
key_data(Key * k): key_data(Key * k):
m_key(k), m_value() { m_key(k) {
} }
key_data(Key * k, Value const & v): key_data(Key * k, Value const & v):
m_key(k), m_key(k),

View file

@ -21,7 +21,7 @@ Revision History:
template<typename T> template<typename T>
class ref { class ref {
T * m_ptr; T * m_ptr = nullptr;
void inc_ref() { void inc_ref() {
if (m_ptr) { if (m_ptr) {
@ -36,9 +36,7 @@ class ref {
} }
public: public:
ref(): ref() = default;
m_ptr(nullptr) {
}
ref(T * ptr): ref(T * ptr):
m_ptr(ptr) { m_ptr(ptr) {
@ -50,7 +48,7 @@ public:
inc_ref(); inc_ref();
} }
ref (ref && r) noexcept : m_ptr(nullptr) { ref(ref && r) noexcept {
std::swap(m_ptr, r.m_ptr); std::swap(m_ptr, r.m_ptr);
} }