[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5401] Assert certain invariants
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5401] Assert certain invariants |
Date: |
Sun, 19 Feb 2012 14:05:17 +0000 |
Revision: 5401
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5401
Author: chicares
Date: 2012-02-19 14:05:16 +0000 (Sun, 19 Feb 2012)
Log Message:
-----------
Assert certain invariants
Modified Paths:
--------------
lmi/trunk/multiple_cell_document.cpp
lmi/trunk/multiple_cell_document.hpp
Modified: lmi/trunk/multiple_cell_document.cpp
===================================================================
--- lmi/trunk/multiple_cell_document.cpp 2012-02-19 13:03:08 UTC (rev
5400)
+++ lmi/trunk/multiple_cell_document.cpp 2012-02-19 14:05:16 UTC (rev
5401)
@@ -44,6 +44,7 @@
,class_parms_ (1)
,cell_parms_ (1)
{
+ assert_vector_sizes_are_sane();
}
//============================================================================
@@ -51,6 +52,7 @@
{
xml_lmi::dom_parser parser(filename);
parse(parser.root_node(xml_root_name()));
+ assert_vector_sizes_are_sane();
}
//============================================================================
@@ -58,6 +60,17 @@
{
}
+/// Verify invariants.
+///
+/// Throws if any asserted invariant does not hold.
+
+void multiple_cell_document::assert_vector_sizes_are_sane() const
+{
+ LMI_ASSERT(1 == case_parms_.size());
+ LMI_ASSERT( !class_parms_.empty());
+ LMI_ASSERT( !cell_parms_ .empty());
+}
+
//============================================================================
std::string const& multiple_cell_document::xml_root_name() const
{
@@ -206,6 +219,8 @@
<< LMI_FLUSH
;
}
+
+ assert_vector_sizes_are_sane();
}
//============================================================================
@@ -218,6 +233,8 @@
//============================================================================
void multiple_cell_document::write(std::ostream& os) const
{
+ assert_vector_sizes_are_sane();
+
xml_lmi::xml_document document(xml_root_name());
xml::element& root = document.root_node();
Modified: lmi/trunk/multiple_cell_document.hpp
===================================================================
--- lmi/trunk/multiple_cell_document.hpp 2012-02-19 13:03:08 UTC (rev
5400)
+++ lmi/trunk/multiple_cell_document.hpp 2012-02-19 14:05:16 UTC (rev
5401)
@@ -59,6 +59,9 @@
private:
void parse(xml::element const&);
+
+ void assert_vector_sizes_are_sane() const;
+
std::string const& xml_root_name() const;
// Default parameters for the whole case, stored as a vector for
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5401] Assert certain invariants,
Greg Chicares <=