[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [4887] Remove some differences between 'dbdict.hpp' and 'i
From: |
Greg Chicares |
Subject: |
[lmi-commits] [4887] Remove some differences between 'dbdict.hpp' and 'ihs_dbdict.hpp' |
Date: |
Sat, 01 May 2010 18:24:16 +0000 |
Revision: 4887
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=4887
Author: chicares
Date: 2010-05-01 18:24:16 +0000 (Sat, 01 May 2010)
Log Message:
-----------
Remove some differences between 'dbdict.hpp' and 'ihs_dbdict.hpp'
Modified Paths:
--------------
lmi/trunk/database.cpp
lmi/trunk/database_view_editor.hpp
lmi/trunk/dbdict.cpp
lmi/trunk/dbdict.hpp
Modified: lmi/trunk/database.cpp
===================================================================
--- lmi/trunk/database.cpp 2010-05-01 16:31:42 UTC (rev 4886)
+++ lmi/trunk/database.cpp 2010-05-01 18:24:16 UTC (rev 4887)
@@ -154,8 +154,8 @@
//===========================================================================
TDBValue const& TDatabase::GetEntry(int k) const
{
- TDBDictionary const& d = DBDictionary::instance().GetDictionary();
- TDBDictionary::const_iterator i = d.find(k);
+ dict_map const& d = DBDictionary::instance().GetDictionary();
+ dict_map::const_iterator i = d.find(k);
if(i == d.end())
{
Modified: lmi/trunk/database_view_editor.hpp
===================================================================
--- lmi/trunk/database_view_editor.hpp 2010-05-01 16:31:42 UTC (rev 4886)
+++ lmi/trunk/database_view_editor.hpp 2010-05-01 18:24:16 UTC (rev 4887)
@@ -50,7 +50,7 @@
/// It does not really owns the TDBValue instance which is passed to it.
/// The boost::shared_ptr does.
/// Regarding the fact that all the instances of TDBValue are reside
-/// in the TDBDictionary object and owned by it, one could pass entity via
+/// in the dict_map object and owned by it, one could pass entity via
/// boost::shared_ptr constructed with deallocator object that does nothing.
class DatabaseTableAdapter
Modified: lmi/trunk/dbdict.cpp
===================================================================
--- lmi/trunk/dbdict.cpp 2010-05-01 16:31:42 UTC (rev 4886)
+++ lmi/trunk/dbdict.cpp 2010-05-01 18:24:16 UTC (rev 4887)
@@ -1,4 +1,4 @@
-// Product database map.
+// Product-database map.
//
// Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010 Gregory W. Chicares.
//
@@ -45,7 +45,7 @@
//============================================================================
DBDictionary::DBDictionary()
{
- dictionary = new TDBDictionary;
+ dictionary = new dict_map;
}
//============================================================================
@@ -84,10 +84,10 @@
{
CachedFilename = NewFilename;
delete dictionary;
- dictionary = new TDBDictionary;
+ dictionary = new dict_map;
// stream from file
// TODO ?? HERE WE NEED TO ADD A STREAMING METHOD
-// TODO ?? CachedDBDictionary = Dictionary = new TDBDictionary(CachedFilename);
+// TODO ?? CachedDBDictionary = Dictionary = new dict_map(CachedFilename);
Init(); // TODO ?? KLUDGE
}
}
@@ -106,26 +106,26 @@
// database entities.
for(int j = DB_FIRST; j < DB_LAST; ++j)
{
- AddEntry(TDBEntry(j, TDBValue(j, n, dims, zilch)));
+ AddEntry(dict_map_val(j, TDBValue(j, n, dims, zilch)));
}
double guar_int_rate[1] = {0.03};
- AddEntry(TDBEntry(DB_GuarInt, TDBValue(DB_GuarInt, n, dims,
guar_int_rate)));
+ AddEntry(dict_map_val(DB_GuarInt, TDBValue(DB_GuarInt, n, dims,
guar_int_rate)));
double fixed_loan_rate[1] = {0.06};
- AddEntry(TDBEntry(DB_FixedLoanRate, TDBValue(DB_FixedLoanRate, n, dims,
fixed_loan_rate)));
+ AddEntry(dict_map_val(DB_FixedLoanRate, TDBValue(DB_FixedLoanRate, n,
dims, fixed_loan_rate)));
double loan_spread[1] = {0.0};
- AddEntry(TDBEntry(DB_GuarRegLoanSpread, TDBValue(DB_GuarRegLoanSpread, n,
dims, loan_spread)));
- AddEntry(TDBEntry(DB_CurrRegLoanSpread, TDBValue(DB_CurrRegLoanSpread, n,
dims, loan_spread)));
- AddEntry(TDBEntry(DB_GuarPrefLoanSpread, TDBValue(DB_GuarPrefLoanSpread,
n, dims, loan_spread)));
- AddEntry(TDBEntry(DB_CurrPrefLoanSpread, TDBValue(DB_CurrPrefLoanSpread,
n, dims, loan_spread)));
+ AddEntry(dict_map_val(DB_GuarRegLoanSpread, TDBValue(DB_GuarRegLoanSpread,
n, dims, loan_spread)));
+ AddEntry(dict_map_val(DB_CurrRegLoanSpread, TDBValue(DB_CurrRegLoanSpread,
n, dims, loan_spread)));
+ AddEntry(dict_map_val(DB_GuarPrefLoanSpread,
TDBValue(DB_GuarPrefLoanSpread, n, dims, loan_spread)));
+ AddEntry(dict_map_val(DB_CurrPrefLoanSpread,
TDBValue(DB_CurrPrefLoanSpread, n, dims, loan_spread)));
double affirmative[1] = {1.0};
- AddEntry(TDBEntry(DB_AllowGenAcct, TDBValue(DB_AllowGenAcct, n, dims,
affirmative)));
- AddEntry(TDBEntry(DB_AllowPreferredClass, TDBValue(DB_AllowPreferredClass,
n, dims, affirmative)));
+ AddEntry(dict_map_val(DB_AllowGenAcct, TDBValue(DB_AllowGenAcct, n, dims,
affirmative)));
+ AddEntry(dict_map_val(DB_AllowPreferredClass,
TDBValue(DB_AllowPreferredClass, n, dims, affirmative)));
// premium loads
@@ -134,27 +134,27 @@
double gfee[1] = {12.00};
double zero[1] = {0.0};
- AddEntry(TDBEntry(DB_GuarPolFee, TDBValue(DB_GuarPolFee, n, dims, gfee)));
- AddEntry(TDBEntry(DB_GuarSpecAmtLoad, TDBValue(DB_GuarSpecAmtLoad, n,
dims, zero)));
- AddEntry(TDBEntry(DB_GuarPremLoadTgt, TDBValue(DB_GuarPremLoadTgt, n,
dims, load)));
- AddEntry(TDBEntry(DB_GuarPremLoadExc, TDBValue(DB_GuarPremLoadExc, n,
dims, load)));
- AddEntry(TDBEntry(DB_CurrPolFee, TDBValue(DB_CurrPolFee, n, dims, cfee)));
- AddEntry(TDBEntry(DB_CurrSpecAmtLoad, TDBValue(DB_CurrSpecAmtLoad, n,
dims, zero)));
- AddEntry(TDBEntry(DB_CurrPremLoadTgt, TDBValue(DB_CurrPremLoadTgt, n,
dims, load)));
- AddEntry(TDBEntry(DB_CurrPremLoadExc, TDBValue(DB_CurrPremLoadExc, n,
dims, load)));
+ AddEntry(dict_map_val(DB_GuarPolFee, TDBValue(DB_GuarPolFee, n, dims,
gfee)));
+ AddEntry(dict_map_val(DB_GuarSpecAmtLoad, TDBValue(DB_GuarSpecAmtLoad, n,
dims, zero)));
+ AddEntry(dict_map_val(DB_GuarPremLoadTgt, TDBValue(DB_GuarPremLoadTgt, n,
dims, load)));
+ AddEntry(dict_map_val(DB_GuarPremLoadExc, TDBValue(DB_GuarPremLoadExc, n,
dims, load)));
+ AddEntry(dict_map_val(DB_CurrPolFee, TDBValue(DB_CurrPolFee, n, dims,
cfee)));
+ AddEntry(dict_map_val(DB_CurrSpecAmtLoad, TDBValue(DB_CurrSpecAmtLoad, n,
dims, zero)));
+ AddEntry(dict_map_val(DB_CurrPremLoadTgt, TDBValue(DB_CurrPremLoadTgt, n,
dims, load)));
+ AddEntry(dict_map_val(DB_CurrPremLoadExc, TDBValue(DB_CurrPremLoadExc, n,
dims, load)));
double minwd[1] = {100.0};
- AddEntry(TDBEntry(DB_MinWD, TDBValue(DB_MinWD, n, dims, minwd)));
+ AddEntry(dict_map_val(DB_MinWD, TDBValue(DB_MinWD, n, dims, minwd)));
double wdfee[1] = {5.0};
- AddEntry(TDBEntry(DB_WDFee, TDBValue(DB_WDFee, n, dims, wdfee)));
+ AddEntry(dict_map_val(DB_WDFee, TDBValue(DB_WDFee, n, dims, wdfee)));
double wdfeerate[1] = {0.01};
- AddEntry(TDBEntry(DB_WDFeeRate, TDBValue(DB_WDFeeRate, n, dims,
wdfeerate)));
+ AddEntry(dict_map_val(DB_WDFeeRate, TDBValue(DB_WDFeeRate, n, dims,
wdfeerate)));
int guar_coi_dims[n] = {1, 1, 3, 1, 1, 1, 1};
// smoker, nonsmoker, unismoke
double guar_coi_tables[] = {111, 109, 107};
AddEntry
- (TDBEntry
+ (dict_map_val
(DB_GuarCOITable
,TDBValue(DB_GuarCOITable, n, guar_coi_dims, guar_coi_tables)
)
@@ -170,82 +170,82 @@
0, 0, 0, // ultra sm ns us
};
AddEntry
- (TDBEntry
+ (dict_map_val
(DB_CurrCOITable
,TDBValue(DB_CurrCOITable, n, curr_coi_dims, curr_coi_tables)
)
);
double corr_table[1] = {7};
- AddEntry(TDBEntry(DB_CorridorTable, TDBValue(DB_CorridorTable, n, dims,
corr_table)));
+ AddEntry(dict_map_val(DB_CorridorTable, TDBValue(DB_CorridorTable, n,
dims, corr_table)));
double wp_table[1] = {8};
- AddEntry(TDBEntry(DB_WPTable, TDBValue(DB_WPTable, n, dims, wp_table)));
+ AddEntry(dict_map_val(DB_WPTable, TDBValue(DB_WPTable, n, dims,
wp_table)));
double add_table[1] = {9};
- AddEntry(TDBEntry(DB_ADDTable, TDBValue(DB_ADDTable, n, dims, add_table)));
+ AddEntry(dict_map_val(DB_ADDTable, TDBValue(DB_ADDTable, n, dims,
add_table)));
double endtage[1] = {100};
- AddEntry(TDBEntry(DB_EndtAge, TDBValue(DB_EndtAge, n, dims, endtage)));
+ AddEntry(dict_map_val(DB_EndtAge, TDBValue(DB_EndtAge, n, dims, endtage)));
double anb[1] = {1.0};
- AddEntry(TDBEntry(DB_AgeLastOrNearest, TDBValue(DB_AgeLastOrNearest, n,
dims, anb)));
+ AddEntry(dict_map_val(DB_AgeLastOrNearest, TDBValue(DB_AgeLastOrNearest,
n, dims, anb)));
double minspecamt[1] = {10000.0};
- AddEntry(TDBEntry(DB_MinSpecAmt, TDBValue(DB_MinSpecAmt, n, dims,
minspecamt)));
+ AddEntry(dict_map_val(DB_MinSpecAmt, TDBValue(DB_MinSpecAmt, n, dims,
minspecamt)));
double max_gen_acct_rate[1] = {0.12};
- AddEntry(TDBEntry(DB_MaxGenAcctRate, TDBValue(DB_MaxGenAcctRate, n, dims,
max_gen_acct_rate)));
+ AddEntry(dict_map_val(DB_MaxGenAcctRate, TDBValue(DB_MaxGenAcctRate, n,
dims, max_gen_acct_rate)));
double max_sep_acct_rate[1] = {0.12};
- AddEntry(TDBEntry(DB_MaxSepAcctRate, TDBValue(DB_MaxSepAcctRate, n, dims,
max_sep_acct_rate)));
+ AddEntry(dict_map_val(DB_MaxSepAcctRate, TDBValue(DB_MaxSepAcctRate, n,
dims, max_sep_acct_rate)));
double allow_loan[1] = {1.0};
- AddEntry(TDBEntry(DB_AllowLoan, TDBValue(DB_AllowLoan, n, dims,
allow_loan)));
+ AddEntry(dict_map_val(DB_AllowLoan, TDBValue(DB_AllowLoan, n, dims,
allow_loan)));
double allow_wd[1] = {1.0};
- AddEntry(TDBEntry(DB_AllowWD, TDBValue(DB_AllowWD, n, dims, allow_wd)));
+ AddEntry(dict_map_val(DB_AllowWD, TDBValue(DB_AllowWD, n, dims,
allow_wd)));
double allow_flat_extras[1] = {1.0};
- AddEntry(TDBEntry(DB_AllowFlatExtras, TDBValue(DB_AllowFlatExtras, n,
dims, allow_flat_extras)));
+ AddEntry(dict_map_val(DB_AllowFlatExtras, TDBValue(DB_AllowFlatExtras, n,
dims, allow_flat_extras)));
double allow_change_to_dbo2[1] = {1.0};
- AddEntry(TDBEntry(DB_AllowChangeToDBO2, TDBValue(DB_AllowChangeToDBO2, n,
dims, allow_change_to_dbo2)));
+ AddEntry(dict_map_val(DB_AllowChangeToDBO2, TDBValue(DB_AllowChangeToDBO2,
n, dims, allow_change_to_dbo2)));
double allow_dbo3[1] = {1.0};
- AddEntry(TDBEntry(DB_AllowDBO3, TDBValue(DB_AllowDBO3, n, dims,
allow_dbo3)));
+ AddEntry(dict_map_val(DB_AllowDBO3, TDBValue(DB_AllowDBO3, n, dims,
allow_dbo3)));
double surrchg_prem_mult[1] = {0.0};
- AddEntry(TDBEntry(DB_SurrChgPremMult, TDBValue(DB_SurrChgPremMult, n,
dims, surrchg_prem_mult)));
+ AddEntry(dict_map_val(DB_SurrChgPremMult, TDBValue(DB_SurrChgPremMult, n,
dims, surrchg_prem_mult)));
double surrchg_av_mult[1] = {0.0};
- AddEntry(TDBEntry(DB_SurrChgAVMult, TDBValue(DB_SurrChgAVMult, n, dims,
surrchg_av_mult)));
+ AddEntry(dict_map_val(DB_SurrChgAVMult, TDBValue(DB_SurrChgAVMult, n,
dims, surrchg_av_mult)));
double surrchg_sa_mult[1] = {0.0};
- AddEntry(TDBEntry(DB_SurrChgSAMult, TDBValue(DB_SurrChgSAMult, n, dims,
surrchg_sa_mult)));
+ AddEntry(dict_map_val(DB_SurrChgSAMult, TDBValue(DB_SurrChgSAMult, n,
dims, surrchg_sa_mult)));
double surrchg_av_dur_factor[1] = {1.0};
- AddEntry(TDBEntry(DB_SurrChgAVDurFactor, TDBValue(DB_SurrChgAVDurFactor,
n, dims, surrchg_av_dur_factor)));
+ AddEntry(dict_map_val(DB_SurrChgAVDurFactor,
TDBValue(DB_SurrChgAVDurFactor, n, dims, surrchg_av_dur_factor)));
double surrchg_sa_dur_factor[1] = {1.0};
- AddEntry(TDBEntry(DB_SurrChgSADurFactor, TDBValue(DB_SurrChgSADurFactor,
n, dims, surrchg_sa_dur_factor)));
+ AddEntry(dict_map_val(DB_SurrChgSADurFactor,
TDBValue(DB_SurrChgSADurFactor, n, dims, surrchg_sa_dur_factor)));
double ledger_type[1] = {mce_ill_reg};
- AddEntry(TDBEntry(DB_LedgerType, TDBValue(DB_LedgerType, n, dims,
ledger_type)));
+ AddEntry(dict_map_val(DB_LedgerType, TDBValue(DB_LedgerType, n, dims,
ledger_type)));
double no_lapse_always_active[1] = {0.0};
- AddEntry(TDBEntry(DB_NoLapseAlwaysActive, TDBValue(DB_NoLapseAlwaysActive,
n, dims, no_lapse_always_active)));
+ AddEntry(dict_map_val(DB_NoLapseAlwaysActive,
TDBValue(DB_NoLapseAlwaysActive, n, dims, no_lapse_always_active)));
double no_lapse_min_dur[1] = {0.0};
- AddEntry(TDBEntry(DB_NoLapseMinDur, TDBValue(DB_NoLapseMinDur, n, dims,
no_lapse_min_dur)));
+ AddEntry(dict_map_val(DB_NoLapseMinDur, TDBValue(DB_NoLapseMinDur, n,
dims, no_lapse_min_dur)));
double no_lapse_min_age[1] = {0.0};
- AddEntry(TDBEntry(DB_NoLapseMinAge, TDBValue(DB_NoLapseMinAge, n, dims,
no_lapse_min_age)));
+ AddEntry(dict_map_val(DB_NoLapseMinAge, TDBValue(DB_NoLapseMinAge, n,
dims, no_lapse_min_age)));
- AddEntry(TDBEntry(DB_NominallyPar, TDBValue(DB_NominallyPar, n, dims,
zero)));
- AddEntry(TDBEntry(DB_Has1035ExchCharge, TDBValue(DB_Has1035ExchCharge, n,
dims, zero)));
- AddEntry(TDBEntry(DB_SmokeOrTobacco, TDBValue(DB_SmokeOrTobacco, n, dims,
zero)));
- AddEntry(TDBEntry(DB_DACTaxFundCharge, TDBValue(DB_DACTaxFundCharge, n,
dims, zero)));
- AddEntry(TDBEntry(DB_AllowWP, TDBValue(DB_AllowWP, n, dims, zero)));
- AddEntry(TDBEntry(DB_AllowADD, TDBValue(DB_AllowADD, n, dims, zero)));
- AddEntry(TDBEntry(DB_AllowSpouse, TDBValue(DB_AllowSpouse, n, dims,
zero)));
- AddEntry(TDBEntry(DB_AllowChild, TDBValue(DB_AllowChild, n, dims, zero)));
+ AddEntry(dict_map_val(DB_NominallyPar, TDBValue(DB_NominallyPar, n, dims,
zero)));
+ AddEntry(dict_map_val(DB_Has1035ExchCharge, TDBValue(DB_Has1035ExchCharge,
n, dims, zero)));
+ AddEntry(dict_map_val(DB_SmokeOrTobacco, TDBValue(DB_SmokeOrTobacco, n,
dims, zero)));
+ AddEntry(dict_map_val(DB_DACTaxFundCharge, TDBValue(DB_DACTaxFundCharge,
n, dims, zero)));
+ AddEntry(dict_map_val(DB_AllowWP, TDBValue(DB_AllowWP, n, dims, zero)));
+ AddEntry(dict_map_val(DB_AllowADD, TDBValue(DB_AllowADD, n, dims, zero)));
+ AddEntry(dict_map_val(DB_AllowSpouse, TDBValue(DB_AllowSpouse, n, dims,
zero)));
+ AddEntry(dict_map_val(DB_AllowChild, TDBValue(DB_AllowChild, n, dims,
zero)));
double exp_rat_amort_period[1] = {4.0};
- AddEntry(TDBEntry(DB_ExpRatAmortPeriod, TDBValue(DB_ExpRatAmortPeriod, n,
dims, exp_rat_amort_period)));
+ AddEntry(dict_map_val(DB_ExpRatAmortPeriod, TDBValue(DB_ExpRatAmortPeriod,
n, dims, exp_rat_amort_period)));
}
//===========================================================================
-void DBDictionary::AddEntry(TDBEntry const& e)
+void DBDictionary::AddEntry(dict_map_val const& e)
{
(*dictionary)[e.first] = e.second;
}
Modified: lmi/trunk/dbdict.hpp
===================================================================
--- lmi/trunk/dbdict.hpp 2010-05-01 16:31:42 UTC (rev 4886)
+++ lmi/trunk/dbdict.hpp 2010-05-01 18:24:16 UTC (rev 4887)
@@ -1,4 +1,4 @@
-// Product database map.
+// Product-database map.
//
// Copyright (C) 1998, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010
Gregory W. Chicares.
//
@@ -26,8 +26,7 @@
#include "config.hpp"
-#include "database.hpp"
-#include "dbvalue.hpp"
+#include "dbvalue.hpp" // Needed here for map declaration.
#include "obstruct_slicing.hpp"
#include "so_attributes.hpp"
@@ -36,32 +35,44 @@
#include <map>
#include <string>
-typedef std::map<int, TDBValue, std::less<int> > TDBDictionary;
-typedef TDBDictionary::value_type TDBEntry;
+typedef std::map<int, TDBValue> dict_map;
+typedef dict_map::value_type dict_map_val;
-class DBDictionary
+class LMI_SO DBDictionary
:private boost::noncopyable
,virtual private obstruct_slicing<DBDictionary>
{
+ friend class DatabaseDocument;
+ friend class product_file_test;
+
public:
static DBDictionary& instance();
~DBDictionary();
void Init(std::string const& NewFilename);
- TDBEntry* Find(TDBEntry const& t);
- TDBDictionary const& GetDictionary();
+ dict_map_val* Find(dict_map_val const& t);
+ dict_map const& GetDictionary();
+ void WriteSampleDBFile();
+ void WriteProprietaryDBFiles();
private:
DBDictionary();
+ void WriteDB(std::string const& filename);
+ void Add(TDBValue const& e);
+ void BadFile(std::string const& Filename, std::string const& why);
+ void InitDB();
+
+ static void InvalidateCache();
+
static std::string CachedFilename;
void Init();
- void AddEntry(TDBEntry const& e);
+ void AddEntry(dict_map_val const& e);
- TDBDictionary* dictionary;
+ dict_map* dictionary;
};
-inline TDBDictionary const& DBDictionary::GetDictionary()
+inline dict_map const& DBDictionary::GetDictionary()
{return *dictionary;}
void LMI_SO print_databases();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [4887] Remove some differences between 'dbdict.hpp' and 'ihs_dbdict.hpp',
Greg Chicares <=