lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 8c961b81 3/6: Call assert_sanity() iff approp


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 8c961b81 3/6: Call assert_sanity() iff appropriate
Date: Sat, 16 Jul 2022 11:13:48 -0400 (EDT)

branch: master
commit 8c961b81ea410622576a7bb10dd4b7d3bcf20c9b
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Call assert_sanity() iff appropriate
    
    See:
      https://lists.nongnu.org/archive/html/lmi/2022-07/msg00078.html
    | Consider assert_sanity(). Aside from block_keyword_values()
    | (which was used in the past, but is no longer used), only
    | base-class ctors call assert_sanity(). Because it's called
    | only in base-class ctors, it tests the sanity only of the
    | base-class state--the derived classes override the function
    | calls it makes, but no derived class exists at this point.
    
    It's appropriate to call assert_sanity() in each derived class's
    ctor. It's inappropriate to call it in the base class (where it
    incidentally did succeed) because that prevents the functions it
    uses from being declared pure (which is more desirable than a
    tautological assertion).
---
 datum_sequence.cpp | 12 ++++++++++--
 datum_sequence.hpp |  1 -
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/datum_sequence.cpp b/datum_sequence.cpp
index ba3fbbe9..4775f9d6 100644
--- a/datum_sequence.cpp
+++ b/datum_sequence.cpp
@@ -31,7 +31,6 @@
 
 sequence_base::sequence_base()
 {
-    assert_sanity();
 }
 
 /// Construct from string.
@@ -41,7 +40,6 @@ sequence_base::sequence_base()
 sequence_base::sequence_base(std::string const& s)
     :datum_string_base           {s}
 {
-    assert_sanity();
 }
 
 sequence_base& sequence_base::operator=(std::string const& s)
@@ -132,11 +130,13 @@ bool operator==(sequence_base const& lhs, sequence_base 
const& rhs)
 
 numeric_sequence::numeric_sequence()
 {
+    assert_sanity();
 }
 
 numeric_sequence::numeric_sequence(std::string const& s)
     :sequence_base(s)
 {
+    assert_sanity();
 }
 
 numeric_sequence& numeric_sequence::operator=(std::string const& s)
@@ -159,11 +159,13 @@ bool operator==(numeric_sequence const& lhs, 
numeric_sequence const& rhs)
 
 payment_sequence::payment_sequence()
 {
+    assert_sanity();
 }
 
 payment_sequence::payment_sequence(std::string const& s)
     :sequence_base(s)
 {
+    assert_sanity();
 }
 
 payment_sequence& payment_sequence::operator=(std::string const& s)
@@ -199,11 +201,13 @@ bool operator==(payment_sequence const& lhs, 
payment_sequence const& rhs)
 
 mode_sequence::mode_sequence()
 {
+    assert_sanity();
 }
 
 mode_sequence::mode_sequence(std::string const& s)
     :sequence_base(s)
 {
+    assert_sanity();
 }
 
 mode_sequence& mode_sequence::operator=(std::string const& s)
@@ -240,11 +244,13 @@ bool operator==(mode_sequence const& lhs, mode_sequence 
const& rhs)
 
 specamt_sequence::specamt_sequence()
 {
+    assert_sanity();
 }
 
 specamt_sequence::specamt_sequence(std::string const& s)
     :sequence_base(s)
 {
+    assert_sanity();
 }
 
 specamt_sequence& specamt_sequence::operator=(std::string const& s)
@@ -285,11 +291,13 @@ bool operator==(specamt_sequence const& lhs, 
specamt_sequence const& rhs)
 
 dbo_sequence::dbo_sequence()
 {
+    assert_sanity();
 }
 
 dbo_sequence::dbo_sequence(std::string const& s)
     :sequence_base(s)
 {
+    assert_sanity();
 }
 
 dbo_sequence& dbo_sequence::operator=(std::string const& s)
diff --git a/datum_sequence.hpp b/datum_sequence.hpp
index 6e386c50..7598d1dd 100644
--- a/datum_sequence.hpp
+++ b/datum_sequence.hpp
@@ -76,7 +76,6 @@ class sequence_base
 
     sequence_base& operator=(std::string const&);
 
-  private:
     void assert_sanity() const;
 };
 



reply via email to

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