lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 259f97c 6/6: Use query<bool> with DB_Allow* a


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 259f97c 6/6: Use query<bool> with DB_Allow* and DB_TermIsNotRider
Date: Wed, 7 Nov 2018 02:40:35 -0500 (EST)

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

    Use query<bool> with DB_Allow* and DB_TermIsNotRider
    
    Reason: they're inherently boolean.
---
 gpt_input.cpp             | 36 ++++++++++----------
 ihs_acctval.cpp           |  8 ++---
 ihs_basicval.cpp          | 20 +++++------
 input_harmonization.cpp   | 86 +++++++++++++++++++++++------------------------
 input_realization.cpp     | 14 ++++----
 interest_rates.cpp        |  4 +--
 ledger_invariant_init.cpp |  2 +-
 mec_input.cpp             | 32 +++++++++---------
 8 files changed, 101 insertions(+), 101 deletions(-)

diff --git a/gpt_input.cpp b/gpt_input.cpp
index 4f2a4fb..81880dd 100644
--- a/gpt_input.cpp
+++ b/gpt_input.cpp
@@ -337,8 +337,8 @@ void gpt_input::DoHarmonize()
 {
     bool anything_goes    = global_settings::instance().ash_nazg();
 
-    DefinitionOfLifeInsurance.allow(mce_gpt , database_->Query(DB_AllowGpt ));
-    DefinitionOfLifeInsurance.allow(mce_cvat, database_->Query(DB_AllowCvat));
+    DefinitionOfLifeInsurance.allow(mce_gpt , 
database_->query<bool>(DB_AllowGpt ));
+    DefinitionOfLifeInsurance.allow(mce_cvat, 
database_->query<bool>(DB_AllowCvat));
     DefinitionOfLifeInsurance.allow(mce_noncompliant, false);
 
     DefinitionOfMaterialChange.enable(mce_noncompliant != 
DefinitionOfLifeInsurance);
@@ -370,11 +370,11 @@ void gpt_input::DoHarmonize()
             ;
         }
 
-    GroupUnderwritingType.allow(mce_medical         , 
database_->Query(DB_AllowFullUw   ));
-    GroupUnderwritingType.allow(mce_paramedical     , 
database_->Query(DB_AllowParamedUw));
-    GroupUnderwritingType.allow(mce_nonmedical      , 
database_->Query(DB_AllowNonmedUw ));
-    GroupUnderwritingType.allow(mce_simplified_issue, 
database_->Query(DB_AllowSimpUw   ));
-    GroupUnderwritingType.allow(mce_guaranteed_issue, 
database_->Query(DB_AllowGuarUw   ));
+    GroupUnderwritingType.allow(mce_medical         , 
database_->query<bool>(DB_AllowFullUw   ));
+    GroupUnderwritingType.allow(mce_paramedical     , 
database_->query<bool>(DB_AllowParamedUw));
+    GroupUnderwritingType.allow(mce_nonmedical      , 
database_->query<bool>(DB_AllowNonmedUw ));
+    GroupUnderwritingType.allow(mce_simplified_issue, 
database_->query<bool>(DB_AllowSimpUw   ));
+    GroupUnderwritingType.allow(mce_guaranteed_issue, 
database_->query<bool>(DB_AllowGuarUw   ));
 
     IssueAge        .enable(mce_no  == UseDOB);
     DateOfBirth     .enable(mce_yes == UseDOB);
@@ -467,9 +467,9 @@ void gpt_input::DoHarmonize()
     PaymentHistory              .enable(non_mec);
     BenefitHistory              .enable(non_mec);
 
-    UnderwritingClass.allow(mce_ultrapreferred, 
database_->Query(DB_AllowUltraPrefClass));
-    UnderwritingClass.allow(mce_preferred     , 
database_->Query(DB_AllowPreferredClass));
-    UnderwritingClass.allow(mce_rated, database_->Query(DB_AllowSubstdTable));
+    UnderwritingClass.allow(mce_ultrapreferred, 
database_->query<bool>(DB_AllowUltraPrefClass));
+    UnderwritingClass.allow(mce_preferred     , 
database_->query<bool>(DB_AllowPreferredClass));
+    UnderwritingClass.allow(mce_rated         , 
database_->query<bool>(DB_AllowSubstdTable));
 
     OldSubstandardTable.enable(mce_rated == UnderwritingClass);
     OldSubstandardTable.allow(mce_table_a, mce_rated == UnderwritingClass);
@@ -495,14 +495,14 @@ void gpt_input::DoHarmonize()
     NewSubstandardTable.allow(mce_table_l, mce_rated == UnderwritingClass);
     NewSubstandardTable.allow(mce_table_p, mce_rated == UnderwritingClass);
 
-    OldFlatExtra.enable(database_->Query(DB_AllowFlatExtras));
-    NewFlatExtra.enable(database_->Query(DB_AllowFlatExtras));
+    OldFlatExtra.enable(database_->query<bool>(DB_AllowFlatExtras));
+    NewFlatExtra.enable(database_->query<bool>(DB_AllowFlatExtras));
 
     bool blend_mortality_by_gender  = false;
     bool blend_mortality_by_smoking = false;
 
-    bool allow_gender_distinct = database_->Query(DB_AllowSexDistinct);
-    bool allow_unisex          = database_->Query(DB_AllowUnisex);
+    bool allow_gender_distinct = database_->query<bool>(DB_AllowSexDistinct);
+    bool allow_unisex          = database_->query<bool>(DB_AllowUnisex);
 
     OldGender.allow(mce_female, !blend_mortality_by_gender && 
allow_gender_distinct);
     OldGender.allow(mce_male  , !blend_mortality_by_gender && 
allow_gender_distinct);
@@ -512,8 +512,8 @@ void gpt_input::DoHarmonize()
     NewGender.allow(mce_male  , !blend_mortality_by_gender && 
allow_gender_distinct);
     NewGender.allow(mce_unisex,  blend_mortality_by_gender || allow_unisex);
 
-    bool allow_smoker_distinct = database_->Query(DB_AllowSmokeDistinct);
-    bool allow_unismoke        = database_->Query(DB_AllowUnismoke);
+    bool allow_smoker_distinct = database_->query<bool>(DB_AllowSmokeDistinct);
+    bool allow_unismoke        = database_->query<bool>(DB_AllowUnismoke);
 
     OldSmoking.allow(mce_smoker,    !blend_mortality_by_smoking && 
allow_smoker_distinct);
     OldSmoking.allow(mce_nonsmoker, !blend_mortality_by_smoking && 
allow_smoker_distinct);
@@ -617,7 +617,7 @@ std::string gpt_input::RealizeOldFlatExtra()
         return s;
         }
 
-    if(database_->Query(DB_AllowFlatExtras))
+    if(database_->query<bool>(DB_AllowFlatExtras))
         {
         return "";
         }
@@ -644,7 +644,7 @@ std::string gpt_input::RealizeNewFlatExtra()
         return s;
         }
 
-    if(database_->Query(DB_AllowFlatExtras))
+    if(database_->query<bool>(DB_AllowFlatExtras))
         {
         return "";
         }
diff --git a/ihs_acctval.cpp b/ihs_acctval.cpp
index 75d37dc..529a224 100644
--- a/ihs_acctval.cpp
+++ b/ihs_acctval.cpp
@@ -588,7 +588,7 @@ void AccountValue::SetInitialValues()
     SepAcctPaymentAllocation = premium_allocation_to_sepacct(yare_input_);
     GenAcctPaymentAllocation = 1.0 - SepAcctPaymentAllocation;
 
-    if(!database().Query(DB_AllowGenAcct) && 0.0 != GenAcctPaymentAllocation)
+    if(!database().query<bool>(DB_AllowGenAcct) && 0.0 != 
GenAcctPaymentAllocation)
         {
         alarum()
             << "No general account is allowed for this product, but "
@@ -598,7 +598,7 @@ void AccountValue::SetInitialValues()
             ;
         }
 
-    if(!database().Query(DB_AllowSepAcct) && 0.0 != SepAcctPaymentAllocation)
+    if(!database().query<bool>(DB_AllowSepAcct) && 0.0 != 
SepAcctPaymentAllocation)
         {
         alarum()
             << "No separate account is allowed for this product, but "
@@ -716,7 +716,7 @@ void AccountValue::SetInitialValues()
         ||   oe_prefer_separate_account == distribution_preferred_account
         )
         {
-        LMI_ASSERT(database().Query(DB_AllowSepAcct));
+        LMI_ASSERT(database().query<bool>(DB_AllowSepAcct));
         }
     // If any account preference for premium is the general account,
     // then payment into the separate account must be permitted; but
@@ -727,7 +727,7 @@ void AccountValue::SetInitialValues()
         ||   oe_prefer_separate_account == er_premium_preferred_account
         )
         {
-        LMI_ASSERT(database().Query(DB_AllowSepAcct));
+        LMI_ASSERT(database().query<bool>(DB_AllowSepAcct));
         }
 }
 
diff --git a/ihs_basicval.cpp b/ihs_basicval.cpp
index c10e2ef..e842099 100644
--- a/ihs_basicval.cpp
+++ b/ihs_basicval.cpp
@@ -327,7 +327,7 @@ void BasicValues::GPTServerInit()
 // with code in AccountValue::SetInitialValues().
 double BasicValues::InvestmentManagementFee() const
 {
-    if(!database().Query(DB_AllowSepAcct))
+    if(!database().query<bool>(DB_AllowSepAcct))
         {
         return 0.0;
         }
@@ -688,7 +688,7 @@ void BasicValues::SetPermanentInvariants()
     // rating, so we assert those preconditions and write simple code
     // for 'unusual' COI banding that ignores those features.
     LMI_ASSERT(!(UseUnusualCOIBanding && yare_input_.UseExperienceRating));
-    LMI_ASSERT(!(UseUnusualCOIBanding && database().Query(DB_AllowTerm)));
+    LMI_ASSERT(!(UseUnusualCOIBanding && 
database().query<bool>(DB_AllowTerm)));
 
     // Flat extras can be used even with guaranteed issue, e.g., for
     // aviation, occupation, avocation, or foreign travel. Admin
@@ -722,7 +722,7 @@ void BasicValues::SetPermanentInvariants()
     // feature, but either way no end user has ever objected to it.
     if
         (   mce_table_none != yare_input_.SubstandardTable
-        &&  !(database().Query(DB_AllowSubstdTable) && mce_rated == 
yare_input_.UnderwritingClass)
+        &&  !(database().query<bool>(DB_AllowSubstdTable) && mce_rated == 
yare_input_.UnderwritingClass)
         )
         {
         alarum() << "Substandard table ratings not permitted." << LMI_FLUSH;
@@ -1936,7 +1936,7 @@ std::vector<double> BasicValues::GetWpRates() const
     return GetTable
         (product().datum("WPFilename")
         ,DB_WpTable
-        ,database().Query(DB_AllowWp)
+        ,database().query<bool>(DB_AllowWp)
         );
 }
 
@@ -1945,7 +1945,7 @@ std::vector<double> BasicValues::GetAdbRates() const
     return GetTable
         (product().datum("ADDFilename")
         ,DB_AdbTable
-        ,database().Query(DB_AllowAdb)
+        ,database().query<bool>(DB_AllowAdb)
         );
 }
 
@@ -1954,13 +1954,13 @@ std::vector<double> BasicValues::GetChildRiderRates() 
const
     return GetTable
         (product().datum("ChildRiderFilename")
         ,DB_ChildRiderTable
-        ,database().Query(DB_AllowChildRider)
+        ,database().query<bool>(DB_AllowChildRider)
         );
 }
 
 std::vector<double> BasicValues::GetCurrentSpouseRiderRates() const
 {
-    if(!database().Query(DB_AllowSpouseRider))
+    if(!database().query<bool>(DB_AllowSpouseRider))
         {
         return std::vector<double>(GetLength());
         }
@@ -1977,7 +1977,7 @@ std::vector<double> 
BasicValues::GetCurrentSpouseRiderRates() const
 
 std::vector<double> BasicValues::GetGuaranteedSpouseRiderRates() const
 {
-    if(!database().Query(DB_AllowSpouseRider))
+    if(!database().query<bool>(DB_AllowSpouseRider))
         {
         return std::vector<double>(GetLength());
         }
@@ -1997,7 +1997,7 @@ std::vector<double> BasicValues::GetCurrentTermRates() 
const
     return GetTable
         (product().datum("CurrTermFilename")
         ,DB_TermTable
-        ,database().Query(DB_AllowTerm)
+        ,database().query<bool>(DB_AllowTerm)
         ,CanBlend
         ,CanBlend
         );
@@ -2008,7 +2008,7 @@ std::vector<double> BasicValues::GetGuaranteedTermRates() 
const
     return GetTable
         (product().datum("GuarTermFilename")
         ,DB_GuarTermTable
-        ,database().Query(DB_AllowTerm)
+        ,database().query<bool>(DB_AllowTerm)
         ,CanBlend
         ,CanBlend
         );
diff --git a/input_harmonization.cpp b/input_harmonization.cpp
index 0433801..ca5f374 100644
--- a/input_harmonization.cpp
+++ b/input_harmonization.cpp
@@ -127,19 +127,19 @@ void Input::DoHarmonize()
     bool anything_goes    = global_settings::instance().ash_nazg();
     bool home_office_only = global_settings::instance().mellon();
 
-    bool allow_sep_acct = database_->Query(DB_AllowSepAcct);
-    bool allow_gen_acct = database_->Query(DB_AllowGenAcct);
+    bool allow_sep_acct = database_->query<bool>(DB_AllowSepAcct);
+    bool allow_gen_acct = database_->query<bool>(DB_AllowGenAcct);
 
     bool sepacct_only = allow_sep_acct && !allow_gen_acct;
     bool genacct_only = allow_gen_acct && !allow_sep_acct;
 
-    bool wd_allowed = database_->Query(DB_AllowWd);
-    bool loan_allowed = database_->Query(DB_AllowLoan);
-    bool pref_loan_allowed = loan_allowed && 
database_->Query(DB_AllowPrefLoan);
+    bool wd_allowed   = database_->query<bool>(DB_AllowWd);
+    bool loan_allowed = database_->query<bool>(DB_AllowLoan);
+    bool pref_loan_allowed = loan_allowed && 
database_->query<bool>(DB_AllowPrefLoan);
 
-    DefinitionOfLifeInsurance.allow(mce_gpt, database_->Query(DB_AllowGpt));
-    DefinitionOfLifeInsurance.allow(mce_cvat, database_->Query(DB_AllowCvat));
-    DefinitionOfLifeInsurance.allow(mce_noncompliant, 
database_->Query(DB_AllowNo7702));
+    DefinitionOfLifeInsurance.allow(mce_gpt         , 
database_->query<bool>(DB_AllowGpt));
+    DefinitionOfLifeInsurance.allow(mce_cvat        , 
database_->query<bool>(DB_AllowCvat));
+    DefinitionOfLifeInsurance.allow(mce_noncompliant, 
database_->query<bool>(DB_AllowNo7702));
 
     DefinitionOfMaterialChange.enable(anything_goes);
     // INPUT !! TAXATION !! This old code will be useful when
@@ -178,17 +178,17 @@ void Input::DoHarmonize()
 
     MaximumNaar.enable(anything_goes);
 
-    AmortizePremiumLoad.enable(database_->Query(DB_AllowAmortPremLoad));
-    ExtraCompensationOnAssets 
.enable(database_->Query(DB_AllowExtraAssetComp));
-    ExtraCompensationOnPremium.enable(database_->Query(DB_AllowExtraPremComp));
+    AmortizePremiumLoad       
.enable(database_->query<bool>(DB_AllowAmortPremLoad));
+    ExtraCompensationOnAssets 
.enable(database_->query<bool>(DB_AllowExtraAssetComp));
+    
ExtraCompensationOnPremium.enable(database_->query<bool>(DB_AllowExtraPremComp));
 
-    RetireesCanEnroll.enable(database_->Query(DB_AllowRetirees));
+    RetireesCanEnroll.enable(database_->query<bool>(DB_AllowRetirees));
 
-    GroupUnderwritingType.allow(mce_medical         , 
database_->Query(DB_AllowFullUw   ));
-    GroupUnderwritingType.allow(mce_paramedical     , 
database_->Query(DB_AllowParamedUw));
-    GroupUnderwritingType.allow(mce_nonmedical      , 
database_->Query(DB_AllowNonmedUw ));
-    GroupUnderwritingType.allow(mce_simplified_issue, 
database_->Query(DB_AllowSimpUw   ));
-    GroupUnderwritingType.allow(mce_guaranteed_issue, 
database_->Query(DB_AllowGuarUw   ));
+    GroupUnderwritingType.allow(mce_medical         , 
database_->query<bool>(DB_AllowFullUw   ));
+    GroupUnderwritingType.allow(mce_paramedical     , 
database_->query<bool>(DB_AllowParamedUw));
+    GroupUnderwritingType.allow(mce_nonmedical      , 
database_->query<bool>(DB_AllowNonmedUw ));
+    GroupUnderwritingType.allow(mce_simplified_issue, 
database_->query<bool>(DB_AllowSimpUw   ));
+    GroupUnderwritingType.allow(mce_guaranteed_issue, 
database_->query<bool>(DB_AllowGuarUw   ));
 
     bool part_mort_used = mce_yes == UsePartialMortality;
 
@@ -207,7 +207,7 @@ void Input::DoHarmonize()
     SurviveToAge              .enable(part_mort_used && mce_survive_to_age  == 
SurviveToType);
 
     bool enable_experience_rating =
-            database_->Query(DB_AllowExpRating)
+            database_->query<bool>(DB_AllowExpRating)
         &&  part_mort_used
         &&  mce_month_by_month == RunOrder
         ;
@@ -327,7 +327,7 @@ void Input::DoHarmonize()
     InforceCumulativeNoLapsePremium .enable(no_lapse_offered && mce_yes == 
InforceNoLapseActive);
     InforceCumulativeNoLapsePayments.enable(no_lapse_offered && mce_yes == 
InforceNoLapseActive);
 
-    InforceCumulativeRopPayments.enable(database_->Query(DB_AllowDbo3));
+    InforceCumulativeRopPayments.enable(database_->query<bool>(DB_AllowDbo3));
 
     // It would be possible to enable 'InforceCumulativeSalesLoad' iff
     // 'DB_LoadRfdProportion' is nonzero in the inforce year. However,
@@ -338,9 +338,9 @@ void Input::DoHarmonize()
     // more complicated: it would require inspecting not only the
     // database, but also a rate table.
 
-    UnderwritingClass.allow(mce_ultrapreferred, 
database_->Query(DB_AllowUltraPrefClass));
-    UnderwritingClass.allow(mce_preferred     , 
database_->Query(DB_AllowPreferredClass));
-    UnderwritingClass.allow(mce_rated         , 
database_->Query(DB_AllowSubstdTable   ));
+    UnderwritingClass.allow(mce_ultrapreferred, 
database_->query<bool>(DB_AllowUltraPrefClass));
+    UnderwritingClass.allow(mce_preferred     , 
database_->query<bool>(DB_AllowPreferredClass));
+    UnderwritingClass.allow(mce_rated         , 
database_->query<bool>(DB_AllowSubstdTable   ));
     SubstandardTable.enable(mce_rated == UnderwritingClass);
     SubstandardTable.allow(mce_table_a, mce_rated == UnderwritingClass);
     SubstandardTable.allow(mce_table_b, mce_rated == UnderwritingClass);
@@ -363,7 +363,7 @@ void Input::DoHarmonize()
         (   allow_custom_coi_multiplier
         &&  mce_yes == OverrideCoiMultiplier
         );
-    FlatExtra.enable(database_->Query(DB_AllowFlatExtras));
+    FlatExtra.enable(database_->query<bool>(DB_AllowFlatExtras));
 
     calendar_date const most_recent_anniversary = add_years
         (EffectiveDate.value()
@@ -380,24 +380,24 @@ void Input::DoHarmonize()
         }
     LastCoiReentryDate.enable(e_reenter_upon_rate_reset == 
database_->Query(DB_CoiInforceReentry));
 
-    BlendGender.enable(database_->Query(DB_AllowMortBlendSex));
+    BlendGender.enable(database_->query<bool>(DB_AllowMortBlendSex));
     bool blend_mortality_by_gender = mce_yes == BlendGender;
 
-    BlendSmoking.enable(database_->Query(DB_AllowMortBlendSmoke));
+    BlendSmoking.enable(database_->query<bool>(DB_AllowMortBlendSmoke));
     bool blend_mortality_by_smoking = mce_yes == BlendSmoking;
 
     MaleProportion     .enable(blend_mortality_by_gender);
     NonsmokerProportion.enable(blend_mortality_by_smoking);
 
-    bool allow_gender_distinct = database_->Query(DB_AllowSexDistinct);
-    bool allow_unisex          = database_->Query(DB_AllowUnisex);
+    bool allow_gender_distinct = database_->query<bool>(DB_AllowSexDistinct);
+    bool allow_unisex          = database_->query<bool>(DB_AllowUnisex);
 
     Gender.allow(mce_female, !blend_mortality_by_gender && 
allow_gender_distinct);
     Gender.allow(mce_male  , !blend_mortality_by_gender && 
allow_gender_distinct);
     Gender.allow(mce_unisex,  blend_mortality_by_gender || allow_unisex);
 
-    bool allow_smoker_distinct = database_->Query(DB_AllowSmokeDistinct);
-    bool allow_unismoke        = database_->Query(DB_AllowUnismoke);
+    bool allow_smoker_distinct = database_->query<bool>(DB_AllowSmokeDistinct);
+    bool allow_unismoke        = database_->query<bool>(DB_AllowUnismoke);
 
     Smoking.allow(mce_smoker,    !blend_mortality_by_smoking && 
allow_smoker_distinct);
     Smoking.allow(mce_nonsmoker, !blend_mortality_by_smoking && 
allow_smoker_distinct);
@@ -413,12 +413,12 @@ void Input::DoHarmonize()
     bool contract_is_rated(mce_rated == UnderwritingClass);
 
     bool allow_term =
-           database_->Query(DB_AllowTerm)
-        && (database_->Query(DB_AllowRatedTerm) || !contract_is_rated)
+           database_->query<bool>(DB_AllowTerm)
+        && (database_->query<bool>(DB_AllowRatedTerm) || !contract_is_rated)
         && database_->Query(DB_TermMinIssAge) <= IssueAge.value()
         &&                                       IssueAge.value() <= 
database_->Query(DB_TermMaxIssAge)
         ;
-    bool term_is_a_rider = !database_->Query(DB_TermIsNotRider);
+    bool term_is_a_rider = !database_->query<bool>(DB_TermIsNotRider);
     bool allow_term_rider = allow_term && term_is_a_rider;
     TermRider.enable(        allow_term_rider);
     TermRider.allow(mce_yes, allow_term_rider);
@@ -441,23 +441,23 @@ void Input::DoHarmonize()
     TermAdjustmentMethod.allow(mce_adjust_both, enable_term);
 
     bool allow_wp =
-           database_->Query(DB_AllowWp)
-        && (database_->Query(DB_AllowRatedWp) || !contract_is_rated)
+           database_->query<bool>(DB_AllowWp)
+        && (database_->query<bool>(DB_AllowRatedWp) || !contract_is_rated)
         && database_->Query(DB_WpMinIssAge) <= IssueAge.value()
         &&                                     IssueAge.value() <= 
database_->Query(DB_WpMaxIssAge)
         ;
     WaiverOfPremiumBenefit.enable(        allow_wp);
     WaiverOfPremiumBenefit.allow(mce_yes, allow_wp);
     bool allow_adb =
-           database_->Query(DB_AllowAdb)
-        && (database_->Query(DB_AllowRatedAdb) || !contract_is_rated)
+           database_->query<bool>(DB_AllowAdb)
+        && (database_->query<bool>(DB_AllowRatedAdb) || !contract_is_rated)
         && database_->Query(DB_AdbMinIssAge) <= IssueAge.value()
         &&                                      IssueAge.value() <= 
database_->Query(DB_AdbMaxIssAge)
         ;
     AccidentalDeathBenefit.enable(        allow_adb);
     AccidentalDeathBenefit.allow(mce_yes, allow_adb);
 
-    bool allow_child_rider = database_->Query(DB_AllowChildRider);
+    bool allow_child_rider = database_->query<bool>(DB_AllowChildRider);
     ChildRider       .enable(        allow_child_rider);
     ChildRider       .allow(mce_yes, allow_child_rider);
     ChildRiderAmount .enable(mce_yes == ChildRider);
@@ -470,7 +470,7 @@ void Input::DoHarmonize()
         ((mce_yes == ChildRider) ? database_->Query(DB_ChildRiderMinAmt) : 0.0
         ,(mce_yes == ChildRider) ? database_->Query(DB_ChildRiderMaxAmt) : 0.0
         );
-    bool allow_spouse_rider = database_->Query(DB_AllowSpouseRider);
+    bool allow_spouse_rider = database_->query<bool>(DB_AllowSpouseRider);
     SpouseRider      .enable(        allow_spouse_rider);
     SpouseRider      .allow(mce_yes, allow_spouse_rider);
     SpouseRiderAmount.enable(mce_yes == SpouseRider);
@@ -489,7 +489,7 @@ void Input::DoHarmonize()
         ,database_->query<int>(DB_SpouseRiderMaxIssAge)
         );
 
-    bool allow_honeymoon = database_->Query(DB_AllowHoneymoon);
+    bool allow_honeymoon = database_->query<bool>(DB_AllowHoneymoon);
     HoneymoonEndorsement .enable(        allow_honeymoon);
     HoneymoonEndorsement .allow(mce_yes, allow_honeymoon);
     PostHoneymoonSpread  .enable(mce_yes == HoneymoonEndorsement);
@@ -608,10 +608,10 @@ false // Silly workaround for now.
     CorporationPayment.enable(mce_solve_er_prem != SolveType);
 
     GeneralAccountRateType .allow(mce_credited_rate , true);
-    GeneralAccountRateType .allow(mce_earned_rate, mce_no == 
UseCurrentDeclaredRate && (anything_goes || 
database_->Query(DB_AllowGenAcctEarnRate)));
+    GeneralAccountRateType .allow(mce_earned_rate, mce_no == 
UseCurrentDeclaredRate && (anything_goes || 
database_->query<bool>(DB_AllowGenAcctEarnRate)));
 
     SeparateAccountRateType.allow(mce_gross_rate, true);
-    SeparateAccountRateType.allow(mce_net_rate  , anything_goes || 
database_->Query(DB_AllowSepAcctNetRate));
+    SeparateAccountRateType.allow(mce_net_rate  , anything_goes || 
database_->query<bool>(DB_AllowSepAcctNetRate));
 
     bool curr_int_rate_solve = false; // May be useful someday.
     UseCurrentDeclaredRate .enable(!curr_int_rate_solve && allow_gen_acct);
@@ -632,7 +632,7 @@ false // Silly workaround for now.
     //   http://apps.leg.wa.gov/rcw/default.aspx?cite=48.23.085
     bool allow_vlr =
         (   loan_allowed
-        &&  (   database_->Query(DB_AllowVlr)
+        &&  (   database_->query<bool>(DB_AllowVlr)
             ||  anything_goes
             )
         );
@@ -642,7 +642,7 @@ false // Silly workaround for now.
     UseAverageOfAllFunds.enable(!genacct_only);
     bool enable_custom_fund =
             !genacct_only
-        &&  (   database_->Query(DB_AllowImfOverride)
+        &&  (   database_->query<bool>(DB_AllowImfOverride)
             ||  home_office_only
             )
         ;
diff --git a/input_realization.cpp b/input_realization.cpp
index 6abf00f..c040fae 100644
--- a/input_realization.cpp
+++ b/input_realization.cpp
@@ -555,7 +555,7 @@ std::string Input::RealizeDeathBenefitOption()
         }
 
     if
-        (   !database_->Query(DB_AllowChangeToDbo2)
+        (   !database_->query<bool>(DB_AllowChangeToDbo2)
         &&  !std::is_sorted
                 (DeathBenefitOptionRealized_.begin()
                 ,DeathBenefitOptionRealized_.end()
@@ -573,7 +573,7 @@ std::string Input::RealizeDeathBenefitOption()
         }
 
     if
-        (   !database_->Query(DB_AllowDbo3)
+        (   !database_->query<bool>(DB_AllowDbo3)
         &&  contains(DeathBenefitOptionRealized_, mce_dbopt("ROP"))
         )
         {
@@ -658,7 +658,7 @@ std::string Input::RealizeGeneralAccountRate()
         }
 
     // If the field is disabled, then its old contents aren't invalid.
-    if(!database_->Query(DB_AllowGenAcct))
+    if(!database_->query<bool>(DB_AllowGenAcct))
         {
         return "";
         }
@@ -740,7 +740,7 @@ std::string Input::RealizeSeparateAccountRate()
         }
 
     // If the field is disabled, then its old contents aren't invalid.
-    if(!database_->Query(DB_AllowSepAcct))
+    if(!database_->query<bool>(DB_AllowSepAcct))
         {
         return "";
         }
@@ -806,7 +806,7 @@ std::string Input::RealizeNewLoan()
         return s;
         }
 
-    if(database_->Query(DB_AllowLoan))
+    if(database_->query<bool>(DB_AllowLoan))
         {
         return "";
         }
@@ -832,7 +832,7 @@ std::string Input::RealizeWithdrawal()
         return s;
         }
 
-    if(!database_->Query(DB_AllowWd))
+    if(!database_->query<bool>(DB_AllowWd))
         {
         if(!each_equal(WithdrawalRealized_, 0.0))
             {
@@ -877,7 +877,7 @@ std::string Input::RealizeFlatExtra()
         return s;
         }
 
-    if(database_->Query(DB_AllowFlatExtras))
+    if(database_->query<bool>(DB_AllowFlatExtras))
         {
         return "";
         }
diff --git a/interest_rates.cpp b/interest_rates.cpp
index 0a9166e..0f5f3e7 100644
--- a/interest_rates.cpp
+++ b/interest_rates.cpp
@@ -256,7 +256,7 @@ InterestRates::InterestRates(BasicValues const& v)
     ,Zero_               (Length_)
     ,NeedMidpointRates_  {v.IsSubjectToIllustrationReg()}
     ,GenAcctRateType_    {v.yare_input_.GeneralAccountRateType}
-    ,NeedSepAcctRates_   {0.0 != v.database().Query(DB_AllowSepAcct)}
+    ,NeedSepAcctRates_   {0.0 != v.database().query<bool>(DB_AllowSepAcct)}
     ,SepAcctRateType_    {v.yare_input_.SeparateAccountRateType}
     
,SepAcctSpreadMethod_{v.database().query<mcenum_spread_method>(DB_SepAcctSpreadMethod)}
     ,AmortLoad_          {Zero_}
@@ -264,7 +264,7 @@ InterestRates::InterestRates(BasicValues const& v)
 //    ,NeedLoanRates_      {need_loan_rates(v.yare_input_)}
     ,NeedLoanRates_      {true} // DEPRECATED
     ,LoanRateType_       {v.yare_input_.LoanRateType}
-    ,NeedPrefLoanRates_  {0.0 != v.database().Query(DB_AllowPrefLoan)}
+    ,NeedPrefLoanRates_  {0.0 != v.database().query<bool>(DB_AllowPrefLoan)}
     ,NeedHoneymoonRates_ {v.yare_input_.HoneymoonEndorsement}
     ,SpreadFor7702_      {v.SpreadFor7702()}
 {
diff --git a/ledger_invariant_init.cpp b/ledger_invariant_init.cpp
index ad06bd7..d57c758 100644
--- a/ledger_invariant_init.cpp
+++ b/ledger_invariant_init.cpp
@@ -92,7 +92,7 @@ void LedgerInvariant::Init(BasicValues const* b)
         {
         TermSpecAmt     .assign(Length, b->yare_input_.TermRiderAmount);
         }
-    else if(b->database().Query(DB_TermIsNotRider))
+    else if(b->database().query<bool>(DB_TermIsNotRider))
         {
         TermSpecAmt      = b->DeathBfts_->supplamt();
         if(!each_equal(TermSpecAmt, 0.0))
diff --git a/mec_input.cpp b/mec_input.cpp
index e267760..1449bd3 100644
--- a/mec_input.cpp
+++ b/mec_input.cpp
@@ -304,8 +304,8 @@ void mec_input::DoHarmonize()
 {
     bool anything_goes    = global_settings::instance().ash_nazg();
 
-    DefinitionOfLifeInsurance.allow(mce_gpt , database_->Query(DB_AllowGpt ));
-    DefinitionOfLifeInsurance.allow(mce_cvat, database_->Query(DB_AllowCvat));
+    DefinitionOfLifeInsurance.allow(mce_gpt , 
database_->query<bool>(DB_AllowGpt ));
+    DefinitionOfLifeInsurance.allow(mce_cvat, 
database_->query<bool>(DB_AllowCvat));
     DefinitionOfLifeInsurance.allow(mce_noncompliant, false);
 
     DefinitionOfMaterialChange.enable(mce_noncompliant != 
DefinitionOfLifeInsurance);
@@ -337,11 +337,11 @@ void mec_input::DoHarmonize()
             ;
         }
 
-    GroupUnderwritingType.allow(mce_medical         , 
database_->Query(DB_AllowFullUw   ));
-    GroupUnderwritingType.allow(mce_paramedical     , 
database_->Query(DB_AllowParamedUw));
-    GroupUnderwritingType.allow(mce_nonmedical      , 
database_->Query(DB_AllowNonmedUw ));
-    GroupUnderwritingType.allow(mce_simplified_issue, 
database_->Query(DB_AllowSimpUw   ));
-    GroupUnderwritingType.allow(mce_guaranteed_issue, 
database_->Query(DB_AllowGuarUw   ));
+    GroupUnderwritingType.allow(mce_medical         , 
database_->query<bool>(DB_AllowFullUw   ));
+    GroupUnderwritingType.allow(mce_paramedical     , 
database_->query<bool>(DB_AllowParamedUw));
+    GroupUnderwritingType.allow(mce_nonmedical      , 
database_->query<bool>(DB_AllowNonmedUw ));
+    GroupUnderwritingType.allow(mce_simplified_issue, 
database_->query<bool>(DB_AllowSimpUw   ));
+    GroupUnderwritingType.allow(mce_guaranteed_issue, 
database_->query<bool>(DB_AllowGuarUw   ));
 
     IssueAge        .enable(mce_no  == UseDOB);
     DateOfBirth     .enable(mce_yes == UseDOB);
@@ -434,9 +434,9 @@ void mec_input::DoHarmonize()
     PaymentHistory              .enable(non_mec);
     BenefitHistory              .enable(non_mec);
 
-    UnderwritingClass.allow(mce_ultrapreferred, 
database_->Query(DB_AllowUltraPrefClass));
-    UnderwritingClass.allow(mce_preferred     , 
database_->Query(DB_AllowPreferredClass));
-    UnderwritingClass.allow(mce_rated, database_->Query(DB_AllowSubstdTable));
+    UnderwritingClass.allow(mce_ultrapreferred, 
database_->query<bool>(DB_AllowUltraPrefClass));
+    UnderwritingClass.allow(mce_preferred     , 
database_->query<bool>(DB_AllowPreferredClass));
+    UnderwritingClass.allow(mce_rated         , 
database_->query<bool>(DB_AllowSubstdTable));
 
     SubstandardTable.enable(mce_rated == UnderwritingClass);
 
@@ -451,20 +451,20 @@ void mec_input::DoHarmonize()
     SubstandardTable.allow(mce_table_l, mce_rated == UnderwritingClass);
     SubstandardTable.allow(mce_table_p, mce_rated == UnderwritingClass);
 
-    FlatExtra.enable(database_->Query(DB_AllowFlatExtras));
+    FlatExtra.enable(database_->query<bool>(DB_AllowFlatExtras));
 
     bool blend_mortality_by_gender  = false;
     bool blend_mortality_by_smoking = false;
 
-    bool allow_gender_distinct = database_->Query(DB_AllowSexDistinct);
-    bool allow_unisex          = database_->Query(DB_AllowUnisex);
+    bool allow_gender_distinct = database_->query<bool>(DB_AllowSexDistinct);
+    bool allow_unisex          = database_->query<bool>(DB_AllowUnisex);
 
     Gender.allow(mce_female, !blend_mortality_by_gender && 
allow_gender_distinct);
     Gender.allow(mce_male  , !blend_mortality_by_gender && 
allow_gender_distinct);
     Gender.allow(mce_unisex,  blend_mortality_by_gender || allow_unisex);
 
-    bool allow_smoker_distinct = database_->Query(DB_AllowSmokeDistinct);
-    bool allow_unismoke        = database_->Query(DB_AllowUnismoke);
+    bool allow_smoker_distinct = database_->query<bool>(DB_AllowSmokeDistinct);
+    bool allow_unismoke        = database_->query<bool>(DB_AllowUnismoke);
 
     Smoking.allow(mce_smoker,    !blend_mortality_by_smoking && 
allow_smoker_distinct);
     Smoking.allow(mce_nonsmoker, !blend_mortality_by_smoking && 
allow_smoker_distinct);
@@ -563,7 +563,7 @@ std::string mec_input::RealizeFlatExtra()
         return s;
         }
 
-    if(database_->Query(DB_AllowFlatExtras))
+    if(database_->query<bool>(DB_AllowFlatExtras))
         {
         return "";
         }



reply via email to

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