lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master ca6e663: Write explicitly-defaulted dtors inl


From: Greg Chicares
Subject: [lmi-commits] [lmi] master ca6e663: Write explicitly-defaulted dtors inline, in class defn
Date: Sun, 5 Mar 2017 13:05:23 -0500 (EST)

branch: master
commit ca6e663c7c4f7450d717e6a6298a006caed71450
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>

    Write explicitly-defaulted dtors inline, in class defn
    
    See:
      http://lists.nongnu.org/archive/html/lmi/2017-03/msg00014.html
    | it makes the code more clear
    | it allows the compiler to generate more optimal code
    
    This commit encompasses only dtors that were explicitly defaulted but
    written out of line.
---
 about_dialog.cpp              | 2 --
 about_dialog.hpp              | 2 +-
 account_value.hpp             | 2 +-
 accountvalue.cpp              | 3 ---
 actuarial_table.cpp           | 2 --
 actuarial_table.hpp           | 2 +-
 antediluvian_stubs.cpp        | 6 ------
 basic_values.hpp              | 2 +-
 basicvalues.cpp               | 3 ---
 commutation_functions.cpp     | 4 ----
 commutation_functions.hpp     | 4 ++--
 configurable_settings.cpp     | 2 --
 configurable_settings.hpp     | 2 +-
 database.cpp                  | 2 --
 database.hpp                  | 2 +-
 database_document.cpp         | 2 --
 database_document.hpp         | 2 +-
 database_view.cpp             | 2 --
 database_view.hpp             | 2 +-
 database_view_editor.cpp      | 2 --
 database_view_editor.hpp      | 2 +-
 datum_boolean.cpp             | 2 --
 datum_boolean.hpp             | 2 +-
 dbdict.cpp                    | 2 --
 dbdict.hpp                    | 2 +-
 dbvalue.cpp                   | 2 --
 dbvalue.hpp                   | 2 +-
 death_benefits.cpp            | 3 ---
 death_benefits.hpp            | 2 +-
 docmanager_ex.cpp             | 2 --
 docmanager_ex.hpp             | 2 +-
 emit_ledger.cpp               | 2 --
 emit_ledger.hpp               | 2 +-
 gpt_commutation_functions.cpp | 4 ----
 gpt_commutation_functions.hpp | 4 ++--
 gpt_server.cpp                | 2 --
 gpt_server.hpp                | 2 +-
 gpt_state.cpp                 | 2 --
 gpt_state.hpp                 | 2 +-
 icon_monger.cpp               | 2 --
 icon_monger.hpp               | 2 +-
 ihs_acctval.cpp               | 3 ---
 ihs_basicval.cpp              | 3 ---
 ihs_irc7702a.cpp              | 3 ---
 ihs_irc7702a.hpp              | 2 +-
 illustrator.cpp               | 2 --
 illustrator.hpp               | 2 +-
 input_sequence.cpp            | 2 --
 input_sequence.hpp            | 2 +-
 input_sequence_parser.cpp     | 2 --
 input_sequence_parser.hpp     | 2 +-
 interest_rates.cpp            | 2 --
 interest_rates.hpp            | 2 +-
 ledger.cpp                    | 3 ---
 ledger.hpp                    | 2 +-
 ledger_base.cpp               | 3 ---
 ledger_base.hpp               | 2 +-
 ledger_text_formats.cpp       | 8 ++------
 ledgervalues.cpp              | 2 --
 ledgervalues.hpp              | 2 +-
 loads_test.cpp                | 1 -
 mec_state.cpp                 | 2 --
 mec_state.hpp                 | 2 +-
 multidimgrid_any.cpp          | 4 +---
 multiple_cell_document.cpp    | 3 ---
 multiple_cell_document.hpp    | 2 +-
 mvc_controller.cpp            | 2 --
 mvc_controller.hpp            | 2 +-
 name_value_pairs.cpp          | 2 --
 name_value_pairs.hpp          | 2 +-
 outlay.cpp                    | 2 --
 outlay.hpp                    | 2 +-
 policy_document.cpp           | 2 --
 policy_document.hpp           | 2 +-
 preferences_model.cpp         | 2 --
 preferences_model.hpp         | 2 +-
 premium_tax.cpp               | 2 --
 premium_tax.hpp               | 2 +-
 previewframe_ex.cpp           | 2 --
 previewframe_ex.hpp           | 2 +-
 progress_meter.cpp            | 2 --
 progress_meter.hpp            | 2 +-
 progress_meter_cgi.cpp        | 4 +---
 progress_meter_cli.cpp        | 4 +---
 progress_meter_wx.cpp         | 4 +---
 rounding_document.cpp         | 2 --
 rounding_document.hpp         | 2 +-
 rounding_view_editor.cpp      | 2 --
 rounding_view_editor.hpp      | 2 +-
 single_choice_popup_menu.cpp  | 2 --
 single_choice_popup_menu.hpp  | 2 +-
 skeleton.cpp                  | 2 --
 skeleton.hpp                  | 2 +-
 tier_document.cpp             | 2 --
 tier_document.hpp             | 2 +-
 timer.cpp                     | 2 --
 timer.hpp                     | 2 +-
 tn_range.hpp                  | 2 +-
 tn_range.tpp                  | 5 -----
 transferor.cpp                | 2 --
 transferor.hpp                | 2 +-
 yare_input.cpp                | 2 --
 yare_input.hpp                | 2 +-
 103 files changed, 55 insertions(+), 188 deletions(-)

diff --git a/about_dialog.cpp b/about_dialog.cpp
index 9867e1e..9d9c81e 100644
--- a/about_dialog.cpp
+++ b/about_dialog.cpp
@@ -48,8 +48,6 @@ AboutDialog::AboutDialog(wxWindow* parent)
 {
 }
 
-AboutDialog::~AboutDialog() = default;
-
 /// This virtual function calls its base-class namesake explicitly.
 
 int AboutDialog::ShowModal()
diff --git a/about_dialog.hpp b/about_dialog.hpp
index 74ee433..6941bf8 100644
--- a/about_dialog.hpp
+++ b/about_dialog.hpp
@@ -53,7 +53,7 @@ class AboutDialog
 {
   public:
     AboutDialog(wxWindow* parent);
-    ~AboutDialog() override;
+    ~AboutDialog() override = default;
 
     // wxDialog overrides.
     int ShowModal() override;
diff --git a/account_value.hpp b/account_value.hpp
index ba85836..441ca09 100644
--- a/account_value.hpp
+++ b/account_value.hpp
@@ -56,7 +56,7 @@ class LMI_SO AccountValue
     enum {months_per_year = 12};
 
     explicit AccountValue(Input const& input);
-    ~AccountValue() override;
+    ~AccountValue() override = default;
 
     double RunAV                ();
 
diff --git a/accountvalue.cpp b/accountvalue.cpp
index efc2e8a..b99134b 100644
--- a/accountvalue.cpp
+++ b/accountvalue.cpp
@@ -128,9 +128,6 @@ AccountValue::AccountValue(Input const& input)
 }
 
 //============================================================================
-AccountValue::~AccountValue() = default;
-
-//============================================================================
 std::shared_ptr<Ledger const> AccountValue::ledger_from_av() const
 {
     LMI_ASSERT(ledger_.get());
diff --git a/actuarial_table.cpp b/actuarial_table.cpp
index 1051f19..17157cc 100644
--- a/actuarial_table.cpp
+++ b/actuarial_table.cpp
@@ -104,8 +104,6 @@ actuarial_table::actuarial_table(std::string const& 
filename, int table_number)
     parse_table();
 }
 
-actuarial_table::~actuarial_table() = default;
-
 /// Read a given number of values for a given issue age.
 
 std::vector<double> actuarial_table::values(int issue_age, int length) const
diff --git a/actuarial_table.hpp b/actuarial_table.hpp
index d5c62ad..1a34cce 100644
--- a/actuarial_table.hpp
+++ b/actuarial_table.hpp
@@ -129,7 +129,7 @@ class actuarial_table final
 {
   public:
     actuarial_table(std::string const& filename, int table_number);
-    ~actuarial_table();
+    ~actuarial_table() = default;
 
     std::vector<double> values(int issue_age, int length) const;
     std::vector<double> values_elaborated
diff --git a/antediluvian_stubs.cpp b/antediluvian_stubs.cpp
index c2d671a..70e05d2 100644
--- a/antediluvian_stubs.cpp
+++ b/antediluvian_stubs.cpp
@@ -49,8 +49,6 @@ bool is_antediluvian_fork()
 gpt_server::gpt_server(mcenum_emission)
 {}
 
-gpt_server::~gpt_server() = default;
-
 bool gpt_server::operator()(fs::path const&)
 {
     return false;
@@ -65,8 +63,6 @@ gpt_state::gpt_state(gpt_state const&)
     ,MemberSymbolTable <gpt_state>()
 {}
 
-gpt_state::~gpt_state() = default;
-
 int gpt_state::class_version() const
 {
     return 0;
@@ -101,8 +97,6 @@ mec_state::mec_state(mec_state const&)
     ,MemberSymbolTable <mec_state>()
 {}
 
-mec_state::~mec_state() = default;
-
 int mec_state::class_version() const
 {
     return 0;
diff --git a/basic_values.hpp b/basic_values.hpp
index c43b6a0..b06b174 100644
--- a/basic_values.hpp
+++ b/basic_values.hpp
@@ -94,7 +94,7 @@ class LMI_SO BasicValues
         ,bool               a_AdbInForce
         ,double             a_TargetPremium
         );
-    virtual ~BasicValues();
+    virtual ~BasicValues() = default;
 
     void Init();
     void GPTServerInit();
diff --git a/basicvalues.cpp b/basicvalues.cpp
index 368117e..2519ff5 100644
--- a/basicvalues.cpp
+++ b/basicvalues.cpp
@@ -78,9 +78,6 @@ BasicValues::BasicValues(Input const& input)
 }
 
 //============================================================================
-BasicValues::~BasicValues() = default;
-
-//============================================================================
 void BasicValues::Init()
 {
     // Bind to input and database representing policy form.
diff --git a/commutation_functions.cpp b/commutation_functions.cpp
index 80c332d..e1f2abf 100644
--- a/commutation_functions.cpp
+++ b/commutation_functions.cpp
@@ -94,8 +94,6 @@ OLCommFns::OLCommFns
     std::partial_sum(c.rbegin(), c.rend(), m.rbegin());
 }
 
-OLCommFns::~OLCommFns() = default;
-
 /// Interest- and mortality-rate vectors --> commutation functions.
 ///
 /// Constructor arguments:
@@ -196,5 +194,3 @@ ULCommFns::ULCommFns
     std::partial_sum(kc.rbegin(), kc.rend(), km.rbegin());
 }
 
-ULCommFns::~ULCommFns() = default;
-
diff --git a/commutation_functions.hpp b/commutation_functions.hpp
index 2590291..403ba57 100644
--- a/commutation_functions.hpp
+++ b/commutation_functions.hpp
@@ -39,7 +39,7 @@ class LMI_SO OLCommFns final
         ,std::vector<double> const& a_i
         );
 
-    ~OLCommFns();
+    ~OLCommFns() = default;
 
     double                 Domega() const {return ed.back();}
     std::vector<double> const& ED() const {return ed;}
@@ -90,7 +90,7 @@ class LMI_SO ULCommFns final
         ,mcenum_mode                mode
         );
 
-    ~ULCommFns();
+    ~ULCommFns() = default;
 
     double                 aDomega() const {return ead.back();}
     std::vector<double> const& EaD() const {return ead;}
diff --git a/configurable_settings.cpp b/configurable_settings.cpp
index 6bc05cb..025b023 100644
--- a/configurable_settings.cpp
+++ b/configurable_settings.cpp
@@ -173,8 +173,6 @@ configurable_settings::configurable_settings()
         }
 }
 
-configurable_settings::~configurable_settings() = default;
-
 configurable_settings& configurable_settings::instance()
 {
     try
diff --git a/configurable_settings.hpp b/configurable_settings.hpp
index 9821c1d..1fcb8a0 100644
--- a/configurable_settings.hpp
+++ b/configurable_settings.hpp
@@ -68,7 +68,7 @@ class LMI_SO configurable_settings final
 
   private:
     configurable_settings();
-    ~configurable_settings() override;
+    ~configurable_settings() override = default;
     configurable_settings(configurable_settings const&) = delete;
     configurable_settings& operator=(configurable_settings const&) = delete;
 
diff --git a/database.cpp b/database.cpp
index ec17e19..b785dcf 100644
--- a/database.cpp
+++ b/database.cpp
@@ -72,8 +72,6 @@ product_database::product_database(yare_input const& input)
     initialize(input.ProductName);
 }
 
-product_database::~product_database() = default;
-
 /// Number of years to maturity for default lookup index.
 ///
 /// Almost all database queries use the default index, so caching this
diff --git a/database.hpp b/database.hpp
index c90d25e..4f61c6c 100644
--- a/database.hpp
+++ b/database.hpp
@@ -57,7 +57,7 @@ class LMI_SO product_database final
     explicit product_database(yare_input const&);
     // Special ctor implemented only in a unit-test TU.
     explicit product_database(int length);
-    ~product_database();
+    ~product_database() = default;
 
     int length() const;
     database_index index() const;
diff --git a/database_document.cpp b/database_document.cpp
index 1805b66..21a1ffb 100644
--- a/database_document.cpp
+++ b/database_document.cpp
@@ -41,8 +41,6 @@ DatabaseDocument::DatabaseDocument()
     db_.InitDB();
 }
 
-DatabaseDocument::~DatabaseDocument() = default;
-
 database_entity& DatabaseDocument::GetTDBValue(e_database_key index)
 {
     std::string const& s = db_name_from_key(index);
diff --git a/database_document.hpp b/database_document.hpp
index e480407..69c47f9 100644
--- a/database_document.hpp
+++ b/database_document.hpp
@@ -34,7 +34,7 @@ class DatabaseDocument
 {
   public:
     DatabaseDocument();
-    ~DatabaseDocument() override;
+    ~DatabaseDocument() override = default;
 
     database_entity& GetTDBValue(e_database_key index);
 
diff --git a/database_view.cpp b/database_view.cpp
index c49c28e..e8f066f 100644
--- a/database_view.cpp
+++ b/database_view.cpp
@@ -151,8 +151,6 @@ DatabaseView::DatabaseView()
 {
 }
 
-DatabaseView::~DatabaseView() = default;
-
 wxTreeCtrl* DatabaseView::CreateTreeCtrl(wxWindow* parent)
 {
     return new(wx) AutoResizingTreeCtrl
diff --git a/database_view.hpp b/database_view.hpp
index 6517e32..7cfc17f 100644
--- a/database_view.hpp
+++ b/database_view.hpp
@@ -37,7 +37,7 @@ class DatabaseView final
 {
   public:
     DatabaseView();
-    ~DatabaseView() override;
+    ~DatabaseView() override = default;
 
   private:
     DatabaseView(DatabaseView const&) = delete;
diff --git a/database_view_editor.cpp b/database_view_editor.cpp
index 4b3cb04..b60aefd 100644
--- a/database_view_editor.cpp
+++ b/database_view_editor.cpp
@@ -110,8 +110,6 @@ DatabaseTableAdapter::DatabaseTableAdapter(database_entity* 
db_value)
     indexes_.resize(eda_max);
 }
 
-DatabaseTableAdapter::~DatabaseTableAdapter() = default;
-
 bool DatabaseTableAdapter::DoApplyAxisAdjustment
     (MultiDimAxisAny& axis
     ,unsigned int n
diff --git a/database_view_editor.hpp b/database_view_editor.hpp
index 852b5c5..6cde21e 100644
--- a/database_view_editor.hpp
+++ b/database_view_editor.hpp
@@ -72,7 +72,7 @@ class DatabaseTableAdapter
   public:
     DatabaseTableAdapter(database_entity* db_value = nullptr);
 
-    ~DatabaseTableAdapter() override;
+    ~DatabaseTableAdapter() override = default;
 
     /// Decorated object accessors
     void SetTDBValue(database_entity* db_value);
diff --git a/datum_boolean.cpp b/datum_boolean.cpp
index 6a748e3..95ff248 100644
--- a/datum_boolean.cpp
+++ b/datum_boolean.cpp
@@ -28,8 +28,6 @@ datum_boolean::datum_boolean(bool value)
 {
 }
 
-datum_boolean::~datum_boolean() = default;
-
 datum_boolean& datum_boolean::operator=(bool b)
 {
     value_ = b;
diff --git a/datum_boolean.hpp b/datum_boolean.hpp
index e8dfaea..a1b9e59 100644
--- a/datum_boolean.hpp
+++ b/datum_boolean.hpp
@@ -36,7 +36,7 @@ class datum_boolean
 {
   public:
     explicit datum_boolean(bool = true);
-    ~datum_boolean() override;
+    ~datum_boolean() override = default;
 
     datum_boolean& operator=(bool);
 
diff --git a/dbdict.cpp b/dbdict.cpp
index 2323fe0..a08408e 100644
--- a/dbdict.cpp
+++ b/dbdict.cpp
@@ -95,8 +95,6 @@ DBDictionary::DBDictionary(std::string const& filename)
     Init(filename);
 }
 
-DBDictionary::~DBDictionary() = default;
-
 database_entity const& DBDictionary::datum(std::string const& name) const
 {
     return *member_cast<database_entity>(operator[](name));
diff --git a/dbdict.hpp b/dbdict.hpp
index 165776c..da5db62 100644
--- a/dbdict.hpp
+++ b/dbdict.hpp
@@ -48,7 +48,7 @@ class LMI_SO DBDictionary final
     DBDictionary();
     DBDictionary(std::string const& filename);
 
-    ~DBDictionary() override;
+    ~DBDictionary() override = default;
 
     database_entity const& datum(std::string const&) const;
 
diff --git a/dbvalue.cpp b/dbvalue.cpp
index 35492ed..d7e7b76 100644
--- a/dbvalue.cpp
+++ b/dbvalue.cpp
@@ -102,8 +102,6 @@ database_entity::database_entity
     assert_invariants();
 }
 
-database_entity::~database_entity() = default;
-
 #if 0
 /// Deliberately undefined copy assignment operator.
 ///
diff --git a/dbvalue.hpp b/dbvalue.hpp
index 03a6d70..bd0900c 100644
--- a/dbvalue.hpp
+++ b/dbvalue.hpp
@@ -77,7 +77,7 @@ class LMI_SO database_entity final
         ,double             datum
         ,std::string const& gloss = std::string()
         );
-    ~database_entity();
+    ~database_entity() = default;
 
     bool operator==(database_entity const&) const;
 
diff --git a/death_benefits.cpp b/death_benefits.cpp
index 669c3ec..5e2adb7 100644
--- a/death_benefits.cpp
+++ b/death_benefits.cpp
@@ -51,9 +51,6 @@ death_benefits::death_benefits(int length, yare_input const& 
yi)
 }
 
 //============================================================================
-death_benefits::~death_benefits() = default;
-
-//============================================================================
 void death_benefits::set_specamt(double z, int from_year, int to_year)
 {
 #if 0
diff --git a/death_benefits.hpp b/death_benefits.hpp
index 3d721c9..21dd4ce 100644
--- a/death_benefits.hpp
+++ b/death_benefits.hpp
@@ -34,7 +34,7 @@ class death_benefits final
 {
   public:
     death_benefits(int, yare_input const&);
-    ~death_benefits();
+    ~death_benefits() = default;
 
     void set_specamt (double z, int from_year, int to_year);
     void set_supplamt(double z, int from_year, int to_year);
diff --git a/docmanager_ex.cpp b/docmanager_ex.cpp
index 8cf008f..53f45fe 100644
--- a/docmanager_ex.cpp
+++ b/docmanager_ex.cpp
@@ -70,8 +70,6 @@ DocManagerEx::DocManagerEx(long int flags, bool initialize)
 {
 }
 
-DocManagerEx::~DocManagerEx() = default;
-
 // WX !! Perhaps xrc could support a menu-use-file-history tag,
 // and this stuff could be made available by default in the library.
 
diff --git a/docmanager_ex.hpp b/docmanager_ex.hpp
index 2387f58..ab50b43 100644
--- a/docmanager_ex.hpp
+++ b/docmanager_ex.hpp
@@ -44,7 +44,7 @@ class DocManagerEx
     // explicitly marked that way--though it seems that it should be,
     // for consistency with the style of the rest of the library.
     //
-    ~DocManagerEx() override;
+    ~DocManagerEx() override = default;
 
     void AssociateFileHistoryWithFileMenu(wxMenuBar*);
     void DissociateFileHistoryFromFileMenu(wxMenuBar*);
diff --git a/emit_ledger.cpp b/emit_ledger.cpp
index cd9e591..ab584df 100644
--- a/emit_ledger.cpp
+++ b/emit_ledger.cpp
@@ -73,8 +73,6 @@ ledger_emitter::ledger_emitter
         }
 }
 
-ledger_emitter::~ledger_emitter() = default;
-
 /// Perform initial case-level steps such as writing headers.
 
 double ledger_emitter::initiate()
diff --git a/emit_ledger.hpp b/emit_ledger.hpp
index 0b798fd..08c2365 100644
--- a/emit_ledger.hpp
+++ b/emit_ledger.hpp
@@ -43,7 +43,7 @@ class LMI_SO ledger_emitter final
 {
   public:
     ledger_emitter(fs::path const& case_filepath, mcenum_emission emission);
-    ~ledger_emitter();
+    ~ledger_emitter() = default;
 
     double initiate ();
     double emit_cell(fs::path const& cell_filepath, Ledger const& ledger);
diff --git a/gpt_commutation_functions.cpp b/gpt_commutation_functions.cpp
index f070ffc..8a87501 100644
--- a/gpt_commutation_functions.cpp
+++ b/gpt_commutation_functions.cpp
@@ -161,8 +161,6 @@ gpt_commfns::gpt_commfns
     LMI_ASSERT(0.0 < *std::min_element(D_net_exc_.begin(), D_net_exc_.end()));
 }
 
-gpt_commfns::~gpt_commfns() = default;
-
 /// Calculate GLP or GSP.
 ///
 /// Divisions are safe because denominators are asserted upstream to
@@ -212,8 +210,6 @@ gpt_cf_triad::gpt_cf_triad
 {
 }
 
-gpt_cf_triad::~gpt_cf_triad() = default;
-
 /// Calculate GLP or GSP.
 ///
 /// For GSP, 'dbo' is disregarded because it is irrelevant. That
diff --git a/gpt_commutation_functions.hpp b/gpt_commutation_functions.hpp
index 0de8dc7..3939196 100644
--- a/gpt_commutation_functions.hpp
+++ b/gpt_commutation_functions.hpp
@@ -147,7 +147,7 @@ class gpt_commfns
         ,mcenum_dbopt_7702   const  dbo
         ,gpt_vector_parms    const& charges
         );
-    ~gpt_commfns();
+    ~gpt_commfns() = default;
 
     double calculate_premium(oenum_glp_or_gsp, gpt_scalar_parms const&) const;
 
@@ -190,7 +190,7 @@ class gpt_cf_triad
         ,std::vector<double> const& gsp_ig
         ,gpt_vector_parms    const& charges
         );
-    ~gpt_cf_triad();
+    ~gpt_cf_triad() = default;
 
     double calculate_premium
         (oenum_glp_or_gsp
diff --git a/gpt_server.cpp b/gpt_server.cpp
index 7a8cf66..21da07e 100644
--- a/gpt_server.cpp
+++ b/gpt_server.cpp
@@ -518,8 +518,6 @@ gpt_server::gpt_server(mcenum_emission emission)
 {
 }
 
-gpt_server::~gpt_server() = default;
-
 bool gpt_server::operator()(fs::path const& file_path)
 {
     std::string const extension = fs::extension(file_path);
diff --git a/gpt_server.hpp b/gpt_server.hpp
index add73e4..d9a04bc 100644
--- a/gpt_server.hpp
+++ b/gpt_server.hpp
@@ -51,7 +51,7 @@ class LMI_SO gpt_server final
 {
   public:
     explicit gpt_server(mcenum_emission);
-    ~gpt_server();
+    ~gpt_server() = default;
 
     bool operator()(fs::path const&);
     bool operator()(fs::path const&, gpt_input const&);
diff --git a/gpt_state.cpp b/gpt_state.cpp
index a2a06cd..3f4b9a9 100644
--- a/gpt_state.cpp
+++ b/gpt_state.cpp
@@ -57,8 +57,6 @@ gpt_state::gpt_state(gpt_state const& z)
     MemberSymbolTable<gpt_state>::assign(z);
 }
 
-gpt_state::~gpt_state() = default;
-
 gpt_state& gpt_state::operator=(gpt_state const& z)
 {
     MemberSymbolTable<gpt_state>::assign(z);
diff --git a/gpt_state.hpp b/gpt_state.hpp
index 55383de..5cfddcd 100644
--- a/gpt_state.hpp
+++ b/gpt_state.hpp
@@ -56,7 +56,7 @@ class LMI_SO gpt_state final
   public:
     gpt_state();
     gpt_state(gpt_state const&);
-    ~gpt_state() override;
+    ~gpt_state() override = default;
 
     gpt_state& operator=(gpt_state const&);
     bool operator==(gpt_state const&) const;
diff --git a/icon_monger.cpp b/icon_monger.cpp
index 6f2375c..6a926d5 100644
--- a/icon_monger.cpp
+++ b/icon_monger.cpp
@@ -100,8 +100,6 @@ icon_monger::icon_monger()
     lmi_specific_icon_names_.insert("write-spreadsheet"       );
 }
 
-icon_monger::~icon_monger() = default;
-
 namespace
 {
 /// Return desired icon size.
diff --git a/icon_monger.hpp b/icon_monger.hpp
index 9f773d3..ef3e787 100644
--- a/icon_monger.hpp
+++ b/icon_monger.hpp
@@ -37,7 +37,7 @@ class icon_monger
 {
   public:
     icon_monger();
-    ~icon_monger() override;
+    ~icon_monger() override = default;
 
   private:
     icon_monger(icon_monger const&) = delete;
diff --git a/ihs_acctval.cpp b/ihs_acctval.cpp
index 95169b2..0873ad1 100644
--- a/ihs_acctval.cpp
+++ b/ihs_acctval.cpp
@@ -179,9 +179,6 @@ AccountValue::AccountValue(Input const& input)
 }
 
 //============================================================================
-AccountValue::~AccountValue() = default;
-
-//============================================================================
 std::shared_ptr<Ledger const> AccountValue::ledger_from_av() const
 {
     LMI_ASSERT(ledger_.get());
diff --git a/ihs_basicval.cpp b/ihs_basicval.cpp
index 6c13186..a651330 100644
--- a/ihs_basicval.cpp
+++ b/ihs_basicval.cpp
@@ -131,9 +131,6 @@ BasicValues::BasicValues
 }
 
 //============================================================================
-BasicValues::~BasicValues() = default;
-
-//============================================================================
 void BasicValues::Init()
 {
     ProductData_.reset(new product_data(yare_input_.ProductName));
diff --git a/ihs_irc7702a.cpp b/ihs_irc7702a.cpp
index ec589b0..76a97f0 100644
--- a/ihs_irc7702a.cpp
+++ b/ihs_irc7702a.cpp
@@ -170,9 +170,6 @@ Irc7702A::Irc7702A
     LMI_ASSERT(0.0 < extrema_nsp.minimum() && extrema_nsp.maximum() <= 1.0);
 }
 
-//============================================================================
-Irc7702A::~Irc7702A() = default;
-
 /// Set initial values on issue or inforce date.
 ///
 /// This is notionally called once per *current*-basis run
diff --git a/ihs_irc7702a.hpp b/ihs_irc7702a.hpp
index b7e21b0..2dd491a 100644
--- a/ihs_irc7702a.hpp
+++ b/ihs_irc7702a.hpp
@@ -66,7 +66,7 @@ class Irc7702A final
 //      ,std::vector<double> const&  a_PolFee
 // TAXATION !! probably other arguments are needed for reproposals
         );
-    ~Irc7702A();
+    ~Irc7702A() = default;
 
     void Initialize7702A
         (bool   a_Ignore
diff --git a/illustrator.cpp b/illustrator.cpp
index decf555..02b37a2 100644
--- a/illustrator.cpp
+++ b/illustrator.cpp
@@ -52,8 +52,6 @@ illustrator::illustrator(mcenum_emission emission)
 {
 }
 
-illustrator::~illustrator() = default;
-
 bool illustrator::operator()(fs::path const& file_path)
 {
     std::string const extension = fs::extension(file_path);
diff --git a/illustrator.hpp b/illustrator.hpp
index b97c07c..fa6707d 100644
--- a/illustrator.hpp
+++ b/illustrator.hpp
@@ -45,7 +45,7 @@ class LMI_SO illustrator final
 {
   public:
     explicit illustrator(mcenum_emission);
-    ~illustrator();
+    ~illustrator() = default;
 
     bool operator()(fs::path const&);
     bool operator()(fs::path const&, Input const&);
diff --git a/input_sequence.cpp b/input_sequence.cpp
index 88c3b63..23f035b 100644
--- a/input_sequence.cpp
+++ b/input_sequence.cpp
@@ -251,8 +251,6 @@ void InputSequence::initialize_from_vector(std::vector<T> 
const& v)
     intervals_.back().end_mode     = e_maturity;
 }
 
-InputSequence::~InputSequence() = default;
-
 /// Canonical form of an input sequence
 ///
 /// Consider the set S of all strings that are well formed wrt the
diff --git a/input_sequence.hpp b/input_sequence.hpp
index 03e53f4..e06dd0a 100644
--- a/input_sequence.hpp
+++ b/input_sequence.hpp
@@ -157,7 +157,7 @@ class LMI_SO InputSequence final
         ,std::string const&              a_default_keyword  = std::string()
         );
 
-    ~InputSequence();
+    ~InputSequence() = default;
 
     std::string canonical_form() const;
 
diff --git a/input_sequence_parser.cpp b/input_sequence_parser.cpp
index 74cdd10..d000d76 100644
--- a/input_sequence_parser.cpp
+++ b/input_sequence_parser.cpp
@@ -53,8 +53,6 @@ SequenceParser::SequenceParser
     sequence();
 }
 
-SequenceParser::~SequenceParser() = default;
-
 std::string SequenceParser::diagnostics() const
 {
     return diagnostics_.str();
diff --git a/input_sequence_parser.hpp b/input_sequence_parser.hpp
index 1644008..1fc8d8b 100644
--- a/input_sequence_parser.hpp
+++ b/input_sequence_parser.hpp
@@ -47,7 +47,7 @@ class SequenceParser final
         ,bool                            a_keywords_only
         );
 
-    ~SequenceParser();
+    ~SequenceParser() = default;
 
     std::string diagnostics() const;
     std::vector<ValueInterval> const& intervals() const;
diff --git a/interest_rates.cpp b/interest_rates.cpp
index 40722e6..8d245d4 100644
--- a/interest_rates.cpp
+++ b/interest_rates.cpp
@@ -248,8 +248,6 @@ bool need_loan_rates(yare_input const& yi)
 #endif // 0
 } // Unnamed namespace.
 
-InterestRates::~InterestRates() = default;
-
 InterestRates::InterestRates(BasicValues const& v)
     :Length_             (v.GetLength())
     ,RoundIntRate_       (v.round_interest_rate())
diff --git a/interest_rates.hpp b/interest_rates.hpp
index 2d99870..ced92cd 100644
--- a/interest_rates.hpp
+++ b/interest_rates.hpp
@@ -140,7 +140,7 @@ class InterestRates
 {
   public:
     InterestRates(BasicValues const&);
-    ~InterestRates();
+    ~InterestRates() = default;
 
     std::vector<double> const& MlyGlpRate() const;
     std::vector<double> const& MlyGspRate() const;
diff --git a/ledger.cpp b/ledger.cpp
index c89ebcd..ba6f8d3 100644
--- a/ledger.cpp
+++ b/ledger.cpp
@@ -80,9 +80,6 @@ Ledger::Ledger
 }
 
 //============================================================================
-Ledger::~Ledger() = default;
-
-//============================================================================
 void Ledger::SetRunBases(int length)
 {
     ledger_map_t& l_map_rep = ledger_map_->held_;
diff --git a/ledger.hpp b/ledger.hpp
index e374277..f18e5e3 100644
--- a/ledger.hpp
+++ b/ledger.hpp
@@ -69,7 +69,7 @@ class LMI_SO Ledger
         ,bool               no_can_issue
         ,bool               is_composite
         );
-    virtual ~Ledger();
+    virtual ~Ledger() = default;
 
     void ZeroInforceAfterLapse();
     Ledger& PlusEq(Ledger const& a_Addend);
diff --git a/ledger_base.cpp b/ledger_base.cpp
index aec19d8..0993358 100644
--- a/ledger_base.cpp
+++ b/ledger_base.cpp
@@ -64,9 +64,6 @@ LedgerBase& LedgerBase::operator=(LedgerBase const& obj)
 }
 
 //============================================================================
-LedgerBase::~LedgerBase() = default;
-
-//============================================================================
 void LedgerBase::Alloc()
 {
     ScalableVectors.insert(BegYearVectors   .begin(), BegYearVectors    
.end());
diff --git a/ledger_base.hpp b/ledger_base.hpp
index 85d99d8..924edbe 100644
--- a/ledger_base.hpp
+++ b/ledger_base.hpp
@@ -175,7 +175,7 @@ class LMI_SO LedgerBase
     friend class Ledger;
 
   public:
-    virtual ~LedgerBase();
+    virtual ~LedgerBase() = default;
 
     void               ApplyScaleFactor(double a_Mult);
 
diff --git a/ledger_text_formats.cpp b/ledger_text_formats.cpp
index 0632c63..8a7a367 100644
--- a/ledger_text_formats.cpp
+++ b/ledger_text_formats.cpp
@@ -141,7 +141,7 @@ class calculation_summary_formatter final
 {
   public:
     calculation_summary_formatter(Ledger const&);
-    ~calculation_summary_formatter();
+    ~calculation_summary_formatter() = default;
 
     std::string format_as_html() const;
     std::string format_as_tsv () const;
@@ -206,8 +206,6 @@ calculation_summary_formatter::calculation_summary_formatter
         }
 }
 
-calculation_summary_formatter::~calculation_summary_formatter() = default;
-
 std::string calculation_summary_formatter::top_note
     (std::string const& line_break
     ) const
@@ -837,7 +835,7 @@ class FlatTextLedgerPrinter final
 {
   public:
     FlatTextLedgerPrinter(Ledger const&, std::ostream&);
-    ~FlatTextLedgerPrinter();
+    ~FlatTextLedgerPrinter() = default;
 
     void Print() const;
 
@@ -910,8 +908,6 @@ FlatTextLedgerPrinter::FlatTextLedgerPrinter
 {
 }
 
-FlatTextLedgerPrinter::~FlatTextLedgerPrinter() = default;
-
 void FlatTextLedgerPrinter::Print() const
 {
     set_default_format_flags(os_);
diff --git a/ledgervalues.cpp b/ledgervalues.cpp
index bba9a5f..f10acb9 100644
--- a/ledgervalues.cpp
+++ b/ledgervalues.cpp
@@ -34,8 +34,6 @@ IllusVal::IllusVal(std::string const& filename)
 {
 }
 
-IllusVal::~IllusVal() = default;
-
 double IllusVal::run(Input const& input)
 {
     fenv_guard fg;
diff --git a/ledgervalues.hpp b/ledgervalues.hpp
index 5fcd99a..09e01ea 100644
--- a/ledgervalues.hpp
+++ b/ledgervalues.hpp
@@ -40,7 +40,7 @@ class IllusVal final
 {
   public:
     explicit IllusVal(std::string const& filename);
-    ~IllusVal();
+    ~IllusVal() = default;
 
     double run(Input const&);
 
diff --git a/loads_test.cpp b/loads_test.cpp
index 826d3d9..d2ca9bc 100644
--- a/loads_test.cpp
+++ b/loads_test.cpp
@@ -49,7 +49,6 @@ std::vector<double> BasicValues::GetGuarSpecAmtLoadTable() 
const {return dummy_v
 
 #include "database.hpp"
 product_database::product_database(int length) :length_(length) {}
-product_database::~product_database() = default;
 int product_database::length() const {return length_;}
 void product_database::Query(std::vector<double>& v, e_database_key) const 
{v.resize(length_);}
 double product_database::Query(e_database_key) const {return 0.0;}
diff --git a/mec_state.cpp b/mec_state.cpp
index fd0b3be..3b75155 100644
--- a/mec_state.cpp
+++ b/mec_state.cpp
@@ -57,8 +57,6 @@ mec_state::mec_state(mec_state const& z)
     MemberSymbolTable<mec_state>::assign(z);
 }
 
-mec_state::~mec_state() = default;
-
 mec_state& mec_state::operator=(mec_state const& z)
 {
     MemberSymbolTable<mec_state>::assign(z);
diff --git a/mec_state.hpp b/mec_state.hpp
index 4b24614..38a96c8 100644
--- a/mec_state.hpp
+++ b/mec_state.hpp
@@ -52,7 +52,7 @@ class LMI_SO mec_state final
   public:
     mec_state();
     mec_state(mec_state const&);
-    ~mec_state() override;
+    ~mec_state() override = default;
 
     mec_state& operator=(mec_state const&);
     bool operator==(mec_state const&) const;
diff --git a/multidimgrid_any.cpp b/multidimgrid_any.cpp
index b9222f8..bbf998a 100644
--- a/multidimgrid_any.cpp
+++ b/multidimgrid_any.cpp
@@ -114,7 +114,7 @@ class MultiDimGridGrid
         ,long style = 0 // no wxWANTS_CHARS, as is wxGrid's default
         ,std::string const& name = wxPanelNameStr
         );
-    ~MultiDimGridGrid() override;
+    ~MultiDimGridGrid() override = default;
 
     wxSize DoGetBestSize() const override;
 
@@ -140,8 +140,6 @@ inline MultiDimGridGrid::MultiDimGridGrid
 {
 }
 
-MultiDimGridGrid::~MultiDimGridGrid() = default;
-
 wxSize MultiDimGridGrid::DoGetBestSize() const
 {
     // 100 is the default minimal size of a widget - taken from wx headers.
diff --git a/multiple_cell_document.cpp b/multiple_cell_document.cpp
index 834cc4d..6fc49d3 100644
--- a/multiple_cell_document.cpp
+++ b/multiple_cell_document.cpp
@@ -57,9 +57,6 @@ multiple_cell_document::multiple_cell_document(std::string 
const& filename)
     assert_vector_sizes_are_sane();
 }
 
-//============================================================================
-multiple_cell_document::~multiple_cell_document() = default;
-
 /// Verify invariants.
 ///
 /// Throws if any asserted invariant does not hold.
diff --git a/multiple_cell_document.hpp b/multiple_cell_document.hpp
index fb53c5e..c466963 100644
--- a/multiple_cell_document.hpp
+++ b/multiple_cell_document.hpp
@@ -85,7 +85,7 @@ class LMI_SO multiple_cell_document final
   public:
     multiple_cell_document();
     multiple_cell_document(std::string const& filename);
-    ~multiple_cell_document();
+    ~multiple_cell_document() = default;
 
     std::vector<Input> const& case_parms() const;
     std::vector<Input> const& class_parms() const;
diff --git a/mvc_controller.cpp b/mvc_controller.cpp
index 55cd48b..5c0894b 100644
--- a/mvc_controller.cpp
+++ b/mvc_controller.cpp
@@ -151,8 +151,6 @@ MvcController::MvcController
         );
 }
 
-MvcController::~MvcController() = default;
-
 /// Make the Model consistent, and change the View to comport with it.
 ///
 /// While this function isn't called explicitly upon initialization,
diff --git a/mvc_controller.hpp b/mvc_controller.hpp
index ee45859..068a363 100644
--- a/mvc_controller.hpp
+++ b/mvc_controller.hpp
@@ -409,7 +409,7 @@ class MvcController final
 
   public:
     MvcController(wxWindow* parent, MvcModel&, MvcView const&);
-    ~MvcController() override;
+    ~MvcController() override = default;
 
     void TestModelViewConsistency() const;
 
diff --git a/name_value_pairs.cpp b/name_value_pairs.cpp
index 671717d..1d22cc5 100644
--- a/name_value_pairs.cpp
+++ b/name_value_pairs.cpp
@@ -49,8 +49,6 @@ name_value_pairs::name_value_pairs(std::string const& 
filename)
         }
 }
 
-name_value_pairs::~name_value_pairs() = default;
-
 std::string const& name_value_pairs::string_value(std::string const& key) const
 {
     string_map::const_iterator i = map_.find(key);
diff --git a/name_value_pairs.hpp b/name_value_pairs.hpp
index cfd460e..eaf714b 100644
--- a/name_value_pairs.hpp
+++ b/name_value_pairs.hpp
@@ -87,7 +87,7 @@ class name_value_pairs final
 
   public:
     name_value_pairs(std::string const& filename);
-    ~name_value_pairs();
+    ~name_value_pairs() = default;
 
     std::string const& string_value        (std::string const& key) const;
     double             numeric_value       (std::string const& key) const;
diff --git a/outlay.cpp b/outlay.cpp
index c625265..0407850 100644
--- a/outlay.cpp
+++ b/outlay.cpp
@@ -41,8 +41,6 @@ modal_outlay::modal_outlay(yare_input const& yi)
 {
 }
 
-modal_outlay::~modal_outlay() = default;
-
 void modal_outlay::set_ee_modal_premiums(double z, int from_year, int to_year)
 {
     std::fill_n(ee_modal_premiums_.begin() + from_year, to_year - from_year, 
z);
diff --git a/outlay.hpp b/outlay.hpp
index 350b8b1..7943b7f 100644
--- a/outlay.hpp
+++ b/outlay.hpp
@@ -36,7 +36,7 @@ class modal_outlay final
 
   public:
     explicit modal_outlay(yare_input const&);
-    ~modal_outlay();
+    ~modal_outlay() = default;
 
     double                          dumpin               () const;
     double                          external_1035_amount () const;
diff --git a/policy_document.cpp b/policy_document.cpp
index c3d72d3..5494513 100644
--- a/policy_document.cpp
+++ b/policy_document.cpp
@@ -83,8 +83,6 @@ PolicyDocument::PolicyDocument()
     values_["GuarMortalityFootnote"   ] = &product_data_.GuarMortalityFootnote 
  .datum_;
 }
 
-PolicyDocument::~PolicyDocument() = default;
-
 PolicyView& PolicyDocument::PredominantView() const
 {
     return ::PredominantView<PolicyView>(*this);
diff --git a/policy_document.hpp b/policy_document.hpp
index 61a4f96..1c15342 100644
--- a/policy_document.hpp
+++ b/policy_document.hpp
@@ -38,7 +38,7 @@ class PolicyDocument
 {
   public:
     PolicyDocument();
-    ~PolicyDocument() override;
+    ~PolicyDocument() override = default;
 
     typedef std::map<std::string, std::string*> values_type;
     values_type&       values();
diff --git a/preferences_model.cpp b/preferences_model.cpp
index 247ea8c..cf96dd2 100644
--- a/preferences_model.cpp
+++ b/preferences_model.cpp
@@ -95,8 +95,6 @@ PreferencesModel::PreferencesModel()
     Load();
 }
 
-PreferencesModel::~PreferencesModel() = default;
-
 void PreferencesModel::AscribeMembers()
 {
     ascribe("CalculationSummaryColumn00"    , 
&PreferencesModel::CalculationSummaryColumn00    );
diff --git a/preferences_model.hpp b/preferences_model.hpp
index dcd82c2..9fee8f2 100644
--- a/preferences_model.hpp
+++ b/preferences_model.hpp
@@ -43,7 +43,7 @@ class LMI_SO PreferencesModel final
 {
   public:
     PreferencesModel();
-    ~PreferencesModel() override;
+    ~PreferencesModel() override = default;
 
     bool IsModified() const;
     void Load();
diff --git a/premium_tax.cpp b/premium_tax.cpp
index 168db32..823c5e7 100644
--- a/premium_tax.cpp
+++ b/premium_tax.cpp
@@ -178,8 +178,6 @@ premium_tax::premium_tax
     levy_rate_ = db.Query(DB_PremTaxRate, index);
 }
 
-premium_tax::~premium_tax() = default;
-
 /// Test consistency of premium-tax loads.
 ///
 /// If the scalar premium-tax load varies by state, then it must be
diff --git a/premium_tax.hpp b/premium_tax.hpp
index 4d5d543..b37724f 100644
--- a/premium_tax.hpp
+++ b/premium_tax.hpp
@@ -97,7 +97,7 @@ class premium_tax final
         (mcenum_state              tax_state
         ,product_database   const& db
         );
-    ~premium_tax();
+    ~premium_tax() = default;
 
     void   start_new_year();
     double calculate_load(double payment, stratified_charges const& strata);
diff --git a/previewframe_ex.cpp b/previewframe_ex.cpp
index ed18ee1..a8cded1 100644
--- a/previewframe_ex.cpp
+++ b/previewframe_ex.cpp
@@ -59,8 +59,6 @@ PreviewFrameEx::PreviewFrameEx
         }
 }
 
-PreviewFrameEx::~PreviewFrameEx() = default;
-
 void PreviewFrameEx::Initialize()
 {
     wxPreviewFrame::Initialize();
diff --git a/previewframe_ex.hpp b/previewframe_ex.hpp
index b961515..53ab238 100644
--- a/previewframe_ex.hpp
+++ b/previewframe_ex.hpp
@@ -52,7 +52,7 @@ class PreviewFrameEx
         ,long int            style  = wxDEFAULT_FRAME_STYLE | 
wxFULL_REPAINT_ON_RESIZE
         ,wxString     const& name   = "Loading print preview..."
         );
-    ~PreviewFrameEx() override;
+    ~PreviewFrameEx() override = default;
 
     // wxPreviewFrame overrides.
     void Initialize() override;
diff --git a/progress_meter.cpp b/progress_meter.cpp
index 5da4536..b3f7c84 100644
--- a/progress_meter.cpp
+++ b/progress_meter.cpp
@@ -77,8 +77,6 @@ progress_meter::progress_meter
 {
 }
 
-progress_meter::~progress_meter() = default;
-
 void progress_meter::dawdle(int seconds)
 {
     do_dawdle(seconds);
diff --git a/progress_meter.hpp b/progress_meter.hpp
index 4c2fd0c..454915e 100644
--- a/progress_meter.hpp
+++ b/progress_meter.hpp
@@ -218,7 +218,7 @@ class LMI_SO progress_meter
         ,enum_display_mode
         );
 
-    virtual ~progress_meter();
+    virtual ~progress_meter() = default;
 
     int count() const;
     int max_count() const;
diff --git a/progress_meter_cgi.cpp b/progress_meter_cgi.cpp
index 34fcc9f..6b98637 100644
--- a/progress_meter_cgi.cpp
+++ b/progress_meter_cgi.cpp
@@ -41,7 +41,7 @@ class concrete_progress_meter
         ,enum_display_mode
         );
 
-    ~concrete_progress_meter() override;
+    ~concrete_progress_meter() override = default;
 
   private:
     // progress_meter required implementation.
@@ -59,8 +59,6 @@ concrete_progress_meter::concrete_progress_meter
 {
 }
 
-concrete_progress_meter::~concrete_progress_meter() = default;
-
 std::string concrete_progress_meter::progress_message() const
 {
     return "";
diff --git a/progress_meter_cli.cpp b/progress_meter_cli.cpp
index 5134e19..cc67678 100644
--- a/progress_meter_cli.cpp
+++ b/progress_meter_cli.cpp
@@ -76,7 +76,7 @@ class concrete_progress_meter
         ,enum_display_mode
         );
 
-    ~concrete_progress_meter() override;
+    ~concrete_progress_meter() override = default;
 
   private:
     // progress_meter required implementation.
@@ -98,8 +98,6 @@ concrete_progress_meter::concrete_progress_meter
     os_ << title << std::flush;
 }
 
-concrete_progress_meter::~concrete_progress_meter() = default;
-
 std::string concrete_progress_meter::progress_message() const
 {
     return ".";
diff --git a/progress_meter_wx.cpp b/progress_meter_wx.cpp
index 98c3960..98973d7 100644
--- a/progress_meter_wx.cpp
+++ b/progress_meter_wx.cpp
@@ -63,7 +63,7 @@ class concrete_progress_meter
         ,enum_display_mode
         );
 
-    ~concrete_progress_meter() override;
+    ~concrete_progress_meter() override = default;
 
   private:
     // progress_meter overrides.
@@ -102,8 +102,6 @@ concrete_progress_meter::concrete_progress_meter
         }
 }
 
-concrete_progress_meter::~concrete_progress_meter() = default;
-
 /// Sleep for the number of seconds given in the argument.
 ///
 /// Sleep only for a tenth of a second at a time, to ensure that the
diff --git a/rounding_document.cpp b/rounding_document.cpp
index 51b19ae..d910afe 100644
--- a/rounding_document.cpp
+++ b/rounding_document.cpp
@@ -68,8 +68,6 @@ RoundingDocument::RoundingDocument()
     values_["min_init_premium"  ] = &rounding_rules_.round_min_init_premium_  ;
 }
 
-RoundingDocument::~RoundingDocument() = default;
-
 void RoundingDocument::ReadDocument(std::string const& filename)
 {
     load(rounding_rules_, filename);
diff --git a/rounding_document.hpp b/rounding_document.hpp
index e036c54..fd601ac 100644
--- a/rounding_document.hpp
+++ b/rounding_document.hpp
@@ -38,7 +38,7 @@ class RoundingDocument
 {
   public:
     RoundingDocument();
-    ~RoundingDocument() override;
+    ~RoundingDocument() override = default;
 
     typedef std::map<std::string, rounding_parameters*> values_type;
     values_type&       values();
diff --git a/rounding_view_editor.cpp b/rounding_view_editor.cpp
index 5d3b437..69ee335 100644
--- a/rounding_view_editor.cpp
+++ b/rounding_view_editor.cpp
@@ -242,8 +242,6 @@ wxSize RoundingButtons::CalculateMinimumTextControlSize
     return size;
 }
 
-RoundingButtons::~RoundingButtons() = default;
-
 bool RoundingButtons::IsModified() const
 {
     return !(GetValue() == previous_value_);
diff --git a/rounding_view_editor.hpp b/rounding_view_editor.hpp
index 901c7e5..6705b5d 100644
--- a/rounding_view_editor.hpp
+++ b/rounding_view_editor.hpp
@@ -48,7 +48,7 @@ class RoundingButtons
         ,long               style = 0
         ,std::string const& name  = wxPanelNameStr
         );
-    ~RoundingButtons() override;
+    ~RoundingButtons() override = default;
 
     void Create
         (wxWindow*          parent
diff --git a/single_choice_popup_menu.cpp b/single_choice_popup_menu.cpp
index 22cd709..49ee4b3 100644
--- a/single_choice_popup_menu.cpp
+++ b/single_choice_popup_menu.cpp
@@ -60,8 +60,6 @@ SingleChoicePopupMenu::SingleChoicePopupMenu
         );
 }
 
-SingleChoicePopupMenu::~SingleChoicePopupMenu() = default;
-
 // WX !! Can't be const because PopupMenu() isn't.
 int SingleChoicePopupMenu::Choose()
 {
diff --git a/single_choice_popup_menu.hpp b/single_choice_popup_menu.hpp
index 07fde44..d4e345f 100644
--- a/single_choice_popup_menu.hpp
+++ b/single_choice_popup_menu.hpp
@@ -50,7 +50,7 @@ class SingleChoicePopupMenu
         ,wxWindow*            parent = &TopWindow()
         );
 
-    ~SingleChoicePopupMenu() override;
+    ~SingleChoicePopupMenu() override = default;
 
     int Choose();
 
diff --git a/skeleton.cpp b/skeleton.cpp
index 0ecf514..0703521 100644
--- a/skeleton.cpp
+++ b/skeleton.cpp
@@ -212,8 +212,6 @@ Skeleton::Skeleton()
     timer_.Start(100);
 }
 
-Skeleton::~Skeleton() = default;
-
 wxMDIChildFrame* Skeleton::CreateChildFrame
     (wxDocument* doc
     ,ViewEx*     view
diff --git a/skeleton.hpp b/skeleton.hpp
index 382338d..a6ef6e6 100644
--- a/skeleton.hpp
+++ b/skeleton.hpp
@@ -54,7 +54,7 @@ class Skeleton
 {
   public:
     Skeleton();
-    ~Skeleton() override;
+    ~Skeleton() override = default;
 
     // Called by view classes when they are instantiated.
     wxMDIChildFrame* CreateChildFrame(wxDocument*, ViewEx*);
diff --git a/tier_document.cpp b/tier_document.cpp
index 6a27482..a568729 100644
--- a/tier_document.cpp
+++ b/tier_document.cpp
@@ -43,8 +43,6 @@ TierDocument::TierDocument()
     initialize_charges();
 }
 
-TierDocument::~TierDocument() = default;
-
 void TierDocument::initialize_charges()
 {
     static stratified_entity const dummy_entity
diff --git a/tier_document.hpp b/tier_document.hpp
index c14b332..3b6225a 100644
--- a/tier_document.hpp
+++ b/tier_document.hpp
@@ -33,7 +33,7 @@ class TierDocument
 {
   public:
     TierDocument();
-    ~TierDocument() override;
+    ~TierDocument() override = default;
 
     stratified_entity& get_stratified_entity(e_stratified index);
 
diff --git a/timer.cpp b/timer.cpp
index e565201..a576b9c 100644
--- a/timer.cpp
+++ b/timer.cpp
@@ -79,8 +79,6 @@ Timer::Timer()
     start();
 }
 
-Timer::~Timer() = default;
-
 /// Set elapsed time to zero, and restart timer.
 
 Timer& Timer::restart()
diff --git a/timer.hpp b/timer.hpp
index 69e72b0..4f3a6fa 100644
--- a/timer.hpp
+++ b/timer.hpp
@@ -65,7 +65,7 @@ class LMI_SO Timer
 
   public:
     Timer();
-    ~Timer();
+    ~Timer() = default;
 
     Timer&      restart();
     Timer&      stop();
diff --git a/tn_range.hpp b/tn_range.hpp
index 5bad13b..5e32a99 100644
--- a/tn_range.hpp
+++ b/tn_range.hpp
@@ -245,7 +245,7 @@ class tn_range
     tn_range();
     explicit tn_range(Number);
     explicit tn_range(std::string const&);
-    ~tn_range() override;
+    ~tn_range() override = default;
 
     tn_range& operator=(Number);
     tn_range& operator=(std::string const&);
diff --git a/tn_range.tpp b/tn_range.tpp
index 6a0468d..4d29e56 100644
--- a/tn_range.tpp
+++ b/tn_range.tpp
@@ -389,11 +389,6 @@ tn_range<Number,Trammel>::tn_range(std::string const& s)
 }
 
 template<typename Number, typename Trammel>
-tn_range<Number,Trammel>::~tn_range()
-{
-}
-
-template<typename Number, typename Trammel>
 tn_range<Number,Trammel>& tn_range<Number,Trammel>::operator=(Number n)
 {
     value_ = curb(n);
diff --git a/transferor.cpp b/transferor.cpp
index 9918b24..e0542a7 100644
--- a/transferor.cpp
+++ b/transferor.cpp
@@ -91,8 +91,6 @@ Transferor::Transferor(std::string& data, std::string const& 
name)
 {
 }
 
-Transferor::~Transferor() = default;
-
 wxObject* Transferor::Clone() const
 {
     return new Transferor(data_, name_);
diff --git a/transferor.hpp b/transferor.hpp
index 4a9866c..bc954e3 100644
--- a/transferor.hpp
+++ b/transferor.hpp
@@ -116,7 +116,7 @@ class Transferor
 {
   public:
     Transferor(std::string& data, std::string const& name);
-    ~Transferor() override;
+    ~Transferor() override = default;
 
     // wxValidator overrides.
     wxObject* Clone() const override;
diff --git a/yare_input.cpp b/yare_input.cpp
index fa63f38..2470207 100644
--- a/yare_input.cpp
+++ b/yare_input.cpp
@@ -202,8 +202,6 @@ yare_input::yare_input(Input const& z)
     CorporationPaymentStrategy       = convert_vector_type<mcenum_pmt_strategy 
>(z.CorporationPaymentStrategyRealized_ );
 }
 
-yare_input::~yare_input() = default;
-
 bool is_policy_rated(yare_input const& z)
 {
     return
diff --git a/yare_input.hpp b/yare_input.hpp
index 7a6061b..44322c7 100644
--- a/yare_input.hpp
+++ b/yare_input.hpp
@@ -54,7 +54,7 @@ class yare_input final
 {
   public:
     explicit yare_input(Input const&);
-    ~yare_input();
+    ~yare_input() = default;
 
     int                               IssueAge                        ;
     int                               RetirementAge                   ;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]