lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [5150] Reduce physical dependency by fixing 'build_type=so


From: Greg Chicares
Subject: [lmi-commits] [5150] Reduce physical dependency by fixing 'build_type=so_test' erosion
Date: Sun, 20 Mar 2011 19:14:22 +0000

Revision: 5150
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5150
Author:   chicares
Date:     2011-03-20 19:14:21 +0000 (Sun, 20 Mar 2011)
Log Message:
-----------
Reduce physical dependency by fixing 'build_type=so_test' erosion

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/policy_document.cpp
    lmi/trunk/product_data.cpp
    lmi/trunk/product_data.hpp
    lmi/trunk/rounding_document.cpp
    lmi/trunk/rounding_rules.cpp
    lmi/trunk/rounding_rules.hpp
    lmi/trunk/stratified_charges.cpp
    lmi/trunk/stratified_charges.hpp
    lmi/trunk/tier_document.cpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/ChangeLog 2011-03-20 19:14:21 UTC (rev 5150)
@@ -27634,3 +27634,40 @@
 link across an msw dll boundary with declspec decorations due to local
 instantiation of base class template xml_serializable<>.
 
+20110320T1622Z <address@hidden> [654]
+
+  dbnames.hpp
+  dbvalue.hpp
+  input_seq_helpers.hpp
+  input_sequence.hpp
+Add missing declspec decorations.
+
+20110320T1636Z <address@hidden> [654]
+
+  progress_meter.hpp
+  rounding_rules.hpp
+Add missing declspec decorations.
+
+20110320T1832Z <address@hidden> [654]
+
+  rounding_rules.cpp
+  rounding_rules.hpp
+  rounding_view_editor.cpp
+Reduce physical dependency by fixing 'build_type=so_test' erosion.
+
+20110320T1914Z <address@hidden> [654]
+
+  policy_document.cpp
+  product_data.cpp
+  product_data.hpp
+  rounding_document.cpp
+  rounding_rules.cpp
+  rounding_rules.hpp
+  stratified_charges.cpp
+  stratified_charges.hpp
+  tier_document.cpp
+Reduce physical dependency by fixing 'build_type=so_test' erosion.
+Inherited implementations of load() and save() are not available
+across an msw dll boundary with declspec decorations due to local
+instantiation of base class template xml_serializable<>.
+

Modified: lmi/trunk/policy_document.cpp
===================================================================
--- lmi/trunk/policy_document.cpp       2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/policy_document.cpp       2011-03-20 19:14:21 UTC (rev 5150)
@@ -98,7 +98,7 @@
 
 void PolicyDocument::ReadDocument(std::string const& filename)
 {
-    product_data_.load(filename);
+    load(product_data_, filename);
     if(!GetViews().empty())
         {
         PolicyView& view = PredominantView();
@@ -129,6 +129,6 @@
             *it->second = view.controls()[it->first]->GetValue();
             }
         }
-    product_data_.save(filename);
+    save(product_data_, filename);
 }
 

Modified: lmi/trunk/product_data.cpp
===================================================================
--- lmi/trunk/product_data.cpp  2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/product_data.cpp  2011-03-20 19:14:21 UTC (rev 5150)
@@ -383,3 +383,21 @@
     z.save(AddDataDir("sample.policy"));
 }
 
+/// Load from file. This free function can be invoked across dll
+/// boundaries, even though xml_serializable<> is instantiated only
+/// in the present TU.
+
+void load(product_data& z, fs::path const& path)
+{
+    z.xml_serializable<product_data>::load(path);
+}
+
+/// Save to file. This free function can be invoked across dll
+/// boundaries, even though xml_serializable<> is instantiated only
+/// in the present TU.
+
+void save(product_data const& z, fs::path const& path)
+{
+    z.xml_serializable<product_data>::save(path);
+}
+

Modified: lmi/trunk/product_data.hpp
===================================================================
--- lmi/trunk/product_data.hpp  2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/product_data.hpp  2011-03-20 19:14:21 UTC (rev 5150)
@@ -238,5 +238,8 @@
     glossed_string FundRateFootnote1;
 };
 
+void LMI_SO load(product_data      &, fs::path const&);
+void LMI_SO save(product_data const&, fs::path const&);
+
 #endif // product_data_hpp
 

Modified: lmi/trunk/rounding_document.cpp
===================================================================
--- lmi/trunk/rounding_document.cpp     2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/rounding_document.cpp     2011-03-20 19:14:21 UTC (rev 5150)
@@ -71,7 +71,7 @@
 
 void RoundingDocument::ReadDocument(std::string const& filename)
 {
-    rounding_rules_.load(filename);
+    load(rounding_rules_, filename);
     if(!GetViews().empty())
         {
         RoundingView& view = PredominantView();
@@ -102,7 +102,7 @@
             *it->second = view.controls()[it->first]->GetValue();
             }
         }
-    rounding_rules_.save(filename);
+    save(rounding_rules_, filename);
 }
 
 RoundingView& RoundingDocument::PredominantView() const

Modified: lmi/trunk/rounding_rules.cpp
===================================================================
--- lmi/trunk/rounding_rules.cpp        2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/rounding_rules.cpp        2011-03-20 19:14:21 UTC (rev 5150)
@@ -282,3 +282,21 @@
     sample.save(AddDataDir("sample.rounding"));
 }
 
+/// Load from file. This free function can be invoked across dll
+/// boundaries, even though xml_serializable<> is instantiated only
+/// in the present TU.
+
+void load(rounding_rules& z, fs::path const& path)
+{
+    z.xml_serializable<rounding_rules>::load(path);
+}
+
+/// Save to file. This free function can be invoked across dll
+/// boundaries, even though xml_serializable<> is instantiated only
+/// in the present TU.
+
+void save(rounding_rules const& z, fs::path const& path)
+{
+    z.xml_serializable<rounding_rules>::save(path);
+}
+

Modified: lmi/trunk/rounding_rules.hpp
===================================================================
--- lmi/trunk/rounding_rules.hpp        2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/rounding_rules.hpp        2011-03-20 19:14:21 UTC (rev 5150)
@@ -151,5 +151,8 @@
     rounding_parameters round_interest_rate_7702_;
 };
 
+void LMI_SO load(rounding_rules      &, fs::path const&);
+void LMI_SO save(rounding_rules const&, fs::path const&);
+
 #endif // rounding_rules_hpp
 

Modified: lmi/trunk/stratified_charges.cpp
===================================================================
--- lmi/trunk/stratified_charges.cpp    2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/stratified_charges.cpp    2011-03-20 19:14:21 UTC (rev 5150)
@@ -626,3 +626,21 @@
     foo.save(AddDataDir("sample.strata"));
 }
 
+/// Load from file. This free function can be invoked across dll
+/// boundaries, even though xml_serializable<> is instantiated only
+/// in the present TU.
+
+void load(stratified_charges& z, fs::path const& path)
+{
+    z.xml_serializable<stratified_charges>::load(path);
+}
+
+/// Save to file. This free function can be invoked across dll
+/// boundaries, even though xml_serializable<> is instantiated only
+/// in the present TU.
+
+void save(stratified_charges const& z, fs::path const& path)
+{
+    z.xml_serializable<stratified_charges>::save(path);
+}
+

Modified: lmi/trunk/stratified_charges.hpp
===================================================================
--- lmi/trunk/stratified_charges.hpp    2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/stratified_charges.hpp    2011-03-20 19:14:21 UTC (rev 5150)
@@ -209,5 +209,8 @@
     stratified_entity TieredSDPremTax;
 };
 
+void LMI_SO load(stratified_charges      &, fs::path const&);
+void LMI_SO save(stratified_charges const&, fs::path const&);
+
 #endif // stratified_charges_hpp
 

Modified: lmi/trunk/tier_document.cpp
===================================================================
--- lmi/trunk/tier_document.cpp 2011-03-20 18:32:26 UTC (rev 5149)
+++ lmi/trunk/tier_document.cpp 2011-03-20 19:14:21 UTC (rev 5150)
@@ -68,12 +68,12 @@
 
 void TierDocument::ReadDocument(std::string const& filename)
 {
-    charges_.load(filename);
+    load(charges_, filename);
 }
 
 void TierDocument::WriteDocument(std::string const& filename)
 {
-    charges_.save(filename);
+    save(charges_, filename);
 }
 
 stratified_entity& TierDocument::get_stratified_entity(e_stratified index)




reply via email to

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