Changeset 118f1e for src/Parser


Ignore:
Timestamp:
Jun 6, 2012, 1:04:21 PM (13 years ago)
Author:
Michael Ankele <ankele@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, Candidate_v1.7.0, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
b9c69d
Parents:
6c05d8
git-author:
Michael Ankele <ankele@…> (04/18/12 12:56:29)
git-committer:
Michael Ankele <ankele@…> (06/06/12 13:04:21)
Message:

ParameterStorage now uses ParameterAsString class

Location:
src/Parser
Files:
20 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/FormatParser_Parameters.cpp

    r6c05d8 r118f1e  
    2929#include "CodePatterns/Log.hpp"
    3030
    31 #include "Parameters/Parameter.hpp"
     31#include "Parameters/ParameterAsString.hpp"
    3232#include "FormatParser_Parameters.hpp"
    3333
     
    8787 * @param instance parameter to add
    8888 */
    89 void FormatParser_Parameters::appendParameter(ParserParameter *instance)
     89void FormatParser_Parameters::appendParameter(ParameterAsString *instance)
    9090{
    9191  storage->registerInstance(instance);
     
    109109 * @return pointer to instance with this \a _name
    110110 */
    111 ParserParameter *FormatParser_Parameters::getParameter(const std::string &_name) const
     111ParameterAsString *FormatParser_Parameters::getParameter(const std::string &_name) const
    112112{
    113113  return storage->getByName(_name);
     
    129129      iter != params.storage->getEndIter();
    130130      ++iter)
    131     if (!iter->second->get().empty())
    132       output << iter->first <<  "=" << iter->second->get() << ";";
     131    if (!iter->second->getAsString().empty())
     132      output << iter->first <<  "=" << iter->second->getAsString() << ";";
    133133  ost << output.str();
    134134  return ost;
     
    187187          +key+"' with value "+valuestream.str()+"!");
    188188      if (params.haveParameter(key)) {
    189         ParserParameter *instance = params.getParameter(key);
    190         instance->set(valuestream.str());
     189        ParameterAsString *instance = params.getParameter(key);
     190        instance->setAsString(valuestream.str());
    191191      }
    192192    } else {
  • src/Parser/FormatParser_Parameters.hpp

    r6c05d8 r118f1e  
    2020#include "Parser/Parameters/ParameterStorage.hpp"
    2121
    22 class ParserParameter;
     22class ParameterAsString;
    2323
    2424/** This class is an interface to the internal parameters of any FormatParser.
     
    4141
    4242  // accessing parameters in storage
    43   void appendParameter(ParserParameter *instance);
     43  void appendParameter(ParameterAsString *instance);
    4444  bool haveParameter(const std::string &_name) const;
    45   ParserParameter *getParameter(const std::string &_name) const;
     45  ParameterAsString *getParameter(const std::string &_name) const;
    4646
    4747protected:
  • src/Parser/Makefile.am

    r6c05d8 r118f1e  
    5757
    5858PARSERPARAMETERSSOURCE = \
    59         Parser/Parameters/ParameterStorage.cpp \
    60         Parser/Parameters/StringParameter.cpp
     59        Parser/Parameters/ParameterStorage.cpp
    6160
    6261PARSERPARAMETERSHEADER = \
    6362        Parser/Parameters/ParameterStorage.hpp \
    64         Parser/Parameters/ContinuousParameter.hpp \
    65         Parser/Parameters/ContinuousParameter_impl.hpp \
    66         Parser/Parameters/ContinuousValue.hpp \
    67         Parser/Parameters/ContinuousValue_impl.hpp \
    68         Parser/Parameters/DiscreteParameter.hpp \
    69         Parser/Parameters/DiscreteParameter_impl.hpp \
    70         Parser/Parameters/DiscreteValue.hpp \
    71         Parser/Parameters/DiscreteValue_impl.hpp \
    72         Parser/Parameters/Parameter.hpp \
    73         Parser/Parameters/StringParameter.hpp \
    74         Parser/Parameters/ValueInterface.hpp
     63        Parameters/Parameter.hpp \
     64        Parameters/Parameter_impl.hpp \
     65        Parameters/ParameterAsString.hpp \
     66        Parameters/ParameterInterface.hpp \
     67        Parameters/Validators/DiscreteValidator.hpp \
     68        Parameters/Validators/DiscreteValidator_impl.hpp \
     69        Parameters/Validators/RangeValidator.hpp \
     70        Parameters/Validators/RangeValidator_impl.hpp \
     71        Parameters/Validators/Validator.hpp \
     72        Parameters/Value.hpp \
     73        Parameters/Value_impl.hpp \
     74        Parameters/ValueAsString.hpp \
     75        Parameters/ValueInterface.hpp
    7576
    7677PUGIXMLSOURCE = \
  • src/Parser/MpqcParser_Parameters.cpp

    r6c05d8 r118f1e  
    2727#include "MpqcParser_Parameters.hpp"
    2828
    29 #include "Parser/Parameters/ContinuousParameter.hpp"
    30 #include "Parser/Parameters/DiscreteParameter.hpp"
    31 #include "Parser/Parameters/StringParameter.hpp"
     29#include "Parameters/Parameter.hpp"
    3230
    3331template <>
    34 const std::string ContinuousValue<bool>::get() const
     32const std::string Value<bool>::getAsString() const
    3533{
    3634  ASSERT(ValueSet,
    37       "ContinuousValue<bool>::get() - requesting unset value.");
     35      "Value<bool>::getAsString() - requesting unset value.");
    3836  if (value)
    3937    return std::string("yes");
     
    4341
    4442template <>
    45 void ContinuousValue<bool>::set(const std::string _value)
     43void Value<bool>::setAsString(const std::string _value)
    4644{
    4745  if (_value == std::string("yes")) {
    48     setValue(true);
     46    set(true);
    4947  } else if (_value == std::string("no")) {
    50     setValue(false);
     48    set(false);
    5149  } else {
    5250    ASSERT(0,
    53         "void ContinuousValue<bool>::set() - value "+_value+" is neither yes or no.");
     51        "void Value<bool>::setAsString() - value "+_value+" is neither yes or no.");
    5452  }
    5553}
     
    9290    ValidTheories[MBPT2_R12]="MBPT2_R12";
    9391    appendParameter(
    94         new DiscreteParameter<std::string>(
     92        new Parameter<std::string>(
    9593            ParamNames[theoryParam],
    9694            ValidTheories,
     
    105103    ValidIntegrationMethods[IntegralCints] = "IntegralCints";
    106104    appendParameter(
    107         new DiscreteParameter<std::string>(
     105        new Parameter<std::string>(
    108106            ParamNames[integrationParam],
    109107            ValidIntegrationMethods,
     
    113111  // add all continuous parameters
    114112  {
    115     appendParameter(new ContinuousParameter<bool>(ParamNames[hessianParam], false));
    116     appendParameter(new ContinuousParameter<bool>(ParamNames[savestateParam], false));
    117     appendParameter(new ContinuousParameter<bool>(ParamNames[do_gradientParam], true));
    118     appendParameter(new ContinuousParameter<int>(ParamNames[maxiterParam], 1000));
    119     appendParameter(new ContinuousParameter<int>(ParamNames[memoryParam], 16000000));
    120     appendParameter(new StringParameter(ParamNames[stdapproxParam], "A'"));
    121     appendParameter(new ContinuousParameter<int>(ParamNames[nfzcParam], 1));
    122     appendParameter(new StringParameter(ParamNames[basisParam], "3-21G"));
    123     appendParameter(new StringParameter(ParamNames[aux_basisParam], "aug-cc-pVDZ"));
     113    appendParameter(new Parameter<bool>(ParamNames[hessianParam], false));
     114    appendParameter(new Parameter<bool>(ParamNames[savestateParam], false));
     115    appendParameter(new Parameter<bool>(ParamNames[do_gradientParam], true));
     116    appendParameter(new Parameter<int>(ParamNames[maxiterParam], 1000));
     117    appendParameter(new Parameter<int>(ParamNames[memoryParam], 16000000));
     118    appendParameter(new Parameter<std::string>(ParamNames[stdapproxParam], "A'"));
     119    appendParameter(new Parameter<int>(ParamNames[nfzcParam], 1));
     120    appendParameter(new Parameter<std::string>(ParamNames[basisParam], "3-21G"));
     121    appendParameter(new Parameter<std::string>(ParamNames[aux_basisParam], "aug-cc-pVDZ"));
    124122  }
    125123}
     
    135133const std::string MpqcParser_Parameters::getParameter(const enum Parameters param) const
    136134{
    137   return FormatParser_Parameters::getParameter(ParamNames[param])->get();
     135  return FormatParser_Parameters::getParameter(ParamNames[param])->getAsString();
    138136}
    139137
     
    146144{
    147145  const std::string &name = getParameterName(param);
    148   FormatParser_Parameters::getParameter(name)->set(_value);
     146  FormatParser_Parameters::getParameter(name)->setAsString(_value);
    149147}
    150148
  • src/Parser/MpqcParser_Parameters.hpp

    r6c05d8 r118f1e  
    2323#include "Parser/FormatParser_Parameters.hpp"
    2424
    25 #include "Parser/Parameters/ContinuousParameter.hpp"
     25#include "Parameters/Parameter.hpp"
     26#include "Parameters/Value.hpp"
    2627
    2728// specialization for bool (we want "yes/no" not "1/0")
    28 template <> const std::string ContinuousValue<bool>::get() const;
    29 template <> void ContinuousValue<bool>::set(const std::string _value);
     29template <> const std::string Value<bool>::getAsString() const;
     30template <> void Value<bool>::setAsString(const std::string _value);
    3031
    3132class MpqcParser;
  • src/Parser/Parameters/ParameterStorage.cpp

    r6c05d8 r118f1e  
    3737{
    3838  for (const_iterator iter = _storage.getBeginIter(); iter != _storage.getEndIter(); ++iter) {
    39     ParserParameter *instance = (iter->second)->clone();
     39    ParameterAsString *instance = (iter->second)->clone();
    4040    registerInstance(instance);
    4141  }
     
    4949}
    5050
    51 CONSTRUCT_REGISTRY(ParserParameter)
     51CONSTRUCT_REGISTRY(ParameterAsString)
  • src/Parser/Parameters/ParameterStorage.hpp

    r6c05d8 r118f1e  
    1616#include "CodePatterns/Registry.hpp"
    1717
    18 #include "Parameter.hpp"
     18#include "Parameters/ParameterAsString.hpp"
    1919
    2020/** Parameter Registry.
     
    2323 *
    2424 */
    25 class ParameterStorage : public Registry<ParserParameter>
     25class ParameterStorage : public Registry<ParameterAsString>
    2626{
    2727public:
  • src/Parser/Parameters/unittests/Makefile.am

    r6c05d8 r118f1e  
    44
    55PARSERPARAMETERSTESTSSOURCES = \
    6         ../Parser/Parameters/unittests/ContinuousValueUnitTest.cpp \
    7         ../Parser/Parameters/unittests/ContinuousParameterUnitTest.cpp \
    8         ../Parser/Parameters/unittests/DiscreteValueUnitTest.cpp \
    9         ../Parser/Parameters/unittests/DiscreteParameterUnitTest.cpp \
    106        ../Parser/Parameters/unittests/ParameterStorageUnitTest.cpp \
    117        ../Parser/Parameters/unittests/StringParameterUnitTest.cpp
    128
    139PARSERPARAMETERSTESTSHEADERS = \
    14         ../Parser/Parameters/unittests/ContinuousValueUnitTest.hpp \
    15         ../Parser/Parameters/unittests/ContinuousParameterUnitTest.hpp \
    16         ../Parser/Parameters/unittests/DiscreteValueUnitTest.hpp \
    17         ../Parser/Parameters/unittests/DiscreteParameterUnitTest.hpp \
    1810        ../Parser/Parameters/unittests/ParameterStorageUnitTest.hpp \
    1911        ../Parser/Parameters/unittests/StringParameterUnitTest.hpp
    2012
    2113PARSERPARAMETERSTESTS = \
    22         ContinuousValueUnitTest \
    23         ContinuousParameterUnitTest \
    24         DiscreteValueUnitTest \
    25         DiscreteParameterUnitTest \
    2614        ParameterStorageUnitTest \
    2715        StringParameterUnitTest
     
    3422
    3523
    36 ContinuousValueUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
    37         ../Parser/Parameters/unittests/ContinuousValueUnitTest.cpp \
    38         ../Parser/Parameters/unittests/ContinuousValueUnitTest.hpp \
    39         ../Parser/Parameters/ContinuousValue.hpp \
    40         ../Parser/Parameters/ContinuousValue_impl.hpp \
    41         ../Parser/Parameters/ValueInterface.hpp
    42 ContinuousValueUnitTest_LDADD = \
    43         $(PARSERPARAMETERSLIBS)
    44  
    45 ContinuousParameterUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
    46         ../Parser/Parameters/unittests/ContinuousParameterUnitTest.cpp \
    47         ../Parser/Parameters/unittests/ContinuousParameterUnitTest.hpp \
    48         ../Parser/Parameters/ContinuousValue.hpp \
    49         ../Parser/Parameters/ContinuousValue_impl.hpp \
    50         ../Parser/Parameters/ContinuousParameter.hpp \
    51         ../Parser/Parameters/ContinuousParameter_impl.hpp \
    52         ../Parser/Parameters/Parameter.hpp \
    53         ../Parser/Parameters/ValueInterface.hpp
    54 ContinuousParameterUnitTest_LDADD = \
    55         $(PARSERPARAMETERSLIBS)
    56  
    57 DiscreteValueUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
    58         ../Parser/Parameters/unittests/DiscreteValueUnitTest.cpp \
    59         ../Parser/Parameters/unittests/DiscreteValueUnitTest.hpp \
    60         ../Parser/Parameters/DiscreteValue.hpp \
    61         ../Parser/Parameters/DiscreteValue_impl.hpp \
    62         ../Parser/Parameters/ValueInterface.hpp
    63 DiscreteValueUnitTest_LDADD = \
    64         $(PARSERPARAMETERSLIBS)
    65 
    66 DiscreteParameterUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
    67         ../Parser/Parameters/unittests/DiscreteParameterUnitTest.cpp \
    68         ../Parser/Parameters/unittests/DiscreteParameterUnitTest.hpp \
    69         ../Parser/Parameters/DiscreteValue.hpp \
    70         ../Parser/Parameters/DiscreteValue_impl.hpp \
    71         ../Parser/Parameters/DiscreteParameter.hpp \
    72         ../Parser/Parameters/DiscreteParameter_impl.hpp \
    73         ../Parser/Parameters/Parameter.hpp \
    74         ../Parser/Parameters/ValueInterface.hpp
    75 DiscreteParameterUnitTest_LDADD = \
    76         $(PARSERPARAMETERSLIBS)
    77 
    7824ParameterStorageUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
    7925        ../Parser/Parameters/unittests/ParameterStorageUnitTest.cpp \
     
    8127        ../Parser/Parameters/ParameterStorage.cpp \
    8228        ../Parser/Parameters/ParameterStorage.hpp \
    83         ../Parser/Parameters/ContinuousValue.hpp \
    84         ../Parser/Parameters/ContinuousValue_impl.hpp \
    85         ../Parser/Parameters/DiscreteValue.hpp \
    86         ../Parser/Parameters/DiscreteValue_impl.hpp \
    87         ../Parser/Parameters/ValueInterface.hpp
     29        ../Parameters/Parameter.hpp \
     30        ../Parameters/Validators/DummyValidator.hpp \
     31        ../Parameters/Validators/RangeValidator.hpp \
     32        ../Parameters/Validators/RangeValidator_impl.hpp \
     33        ../Parameters/Validators/Validator.hpp \
     34        ../Parameters/Value.hpp \
     35        ../Parameters/Value_impl.hpp \
     36        ../Parameters/ValueInterface.hpp \
    8837ParameterStorageUnitTest_LDADD = \
    89         $(CodePatterns_LIBS) \
    9038        $(PARSERPARAMETERSLIBS)
    9139
     
    9341        ../Parser/Parameters/unittests/StringParameterUnitTest.cpp \
    9442        ../Parser/Parameters/unittests/StringParameterUnitTest.hpp \
    95         ../Parser/Parameters/StringParameter.cpp \
    96         ../Parser/Parameters/StringParameter.hpp \
    97         ../Parser/Parameters/Parameter.hpp \
    98         ../Parser/Parameters/ValueInterface.hpp
     43        ../Parameters/Validators/DiscreteValidator.hpp \
     44        ../Parameters/Validators/DiscreteValidator_impl.hpp \
     45        ../Parameters/Validators/DummyValidator.hpp \
     46        ../Parameters/Validators/RangeValidator.hpp \
     47        ../Parameters/Validators/RangeValidator_impl.hpp \
     48        ../Parameters/Validators/Validator.hpp \
     49        ../Parameters/Value.hpp \
     50        ../Parameters/Value_impl.hpp \
     51        ../Parameters/ValueInterface.hpp \
     52        ../Parameters/VectorFromString.hpp
    9953StringParameterUnitTest_LDADD = \
    10054        $(PARSERPARAMETERSLIBS)
  • src/Parser/Parameters/unittests/ParameterStorageUnitTest.cpp

    r6c05d8 r118f1e  
    2727
    2828#include "Parser/Parameters/ParameterStorage.hpp"
    29 #include "Parser/Parameters/ContinuousParameter.hpp"
    30 #include "Parser/Parameters/DiscreteParameter.hpp"
     29#include "Parameters/Parameter.hpp"
    3130
    3231#ifdef HAVE_TESTRUNNER
     
    5352    ValidValues.push_back(i);
    5453  range<double> ValidRange(1., 4.);
    55   ParserParameter *intParam = new DiscreteParameter<int>("intParam", ValidValues);
    56   ParserParameter *doubleParam = new ContinuousParameter<double>("doubleParam", ValidRange);
     54  ParameterAsString *intParam = new Parameter<int>("intParam", ValidValues);
     55  ParameterAsString *doubleParam = new Parameter<double>("doubleParam", ValidRange);
    5756  // note: delete is done by registry in tearDown ...
    5857
  • src/Parser/Parameters/unittests/StringParameterUnitTest.cpp

    r6c05d8 r118f1e  
    2424#include <cppunit/ui/text/TestRunner.h>
    2525
    26 #include "Parser/Parameters/StringParameter.hpp"
     26#include "Parameters/Parameter.hpp"
    2727
    2828#include "CodePatterns/Assert.hpp"
     
    5454{
    5555  // create instance
    56   StringParameter test("stringParam");
    57   StringParameter samenamedsamevalued("stringParam");
    58   StringParameter samenamedelsevalued("stringParam");
    59   StringParameter elsenamedsamevalued("string2Param");
    60   StringParameter elsenamedelsevalued("string2Param");
     56  Parameter<std::string> test("stringParam");
     57  Parameter<std::string> samenamedsamevalued("stringParam");
     58  Parameter<std::string> samenamedelsevalued("stringParam");
     59  Parameter<std::string> elsenamedsamevalued("string2Param");
     60  Parameter<std::string> elsenamedelsevalued("string2Param");
    6161  test.set(std::string("1"));
    6262  samenamedsamevalued.set(std::string("1"));
     
    7777{
    7878  // create instance
    79   StringParameter test("intParam");
    80 
    81   // check that we throw because of unset parameter
    82 #ifndef NDEBUG
    83   std::cout << "The following Assert failures are intended and do not indicate a failure of the test." << std::endl;
    84   CPPUNIT_ASSERT_THROW(test.clone(), Assert::AssertionFailure);
    85 #endif
     79  Parameter<std::string> test("intParam");
    8680
    8781  // set parameter
     
    9084  // is returned as Parameter but we can compare only in true class as
    9185  // Parameter may also be a DiscreteParameter where comparison is nonsense
    92   StringParameter *instance = dynamic_cast< StringParameter *> (test.clone());
     86  Parameter<std::string> *instance = dynamic_cast< Parameter<std::string> *> (test.clone());
    9387
    9488  // different places in memory
  • src/Parser/Psi3Parser_Parameters.cpp

    r6c05d8 r118f1e  
    2929#include "Psi3Parser_Parameters.hpp"
    3030
    31 #include "Parser/Parameters/ContinuousParameter.hpp"
    32 #include "Parser/Parameters/DiscreteParameter.hpp"
    33 #include "Parser/Parameters/StringParameter.hpp"
    34 
    35 // TODO: ContinuousValue<bool>::get() must be defined inline otherwise we get multiple definition of virtual thunk compilation errors
     31#include "Parameters/Parameter.hpp"
     32
     33// TODO: Value<bool>::getAsString() must be defined inline otherwise we get multiple definition of virtual thunk compilation errors
    3634template <>
    37 inline const std::string ContinuousValue<bool>::get() const
     35inline const std::string Value<bool>::getAsString() const
    3836{
    3937  ASSERT(ValueSet,
    40       "ContinuousValue<bool>::get() - requesting unset value.");
     38      "Value<bool>::getAsString() - requesting unset value.");
    4139  if (value)
    4240    return std::string("yes");
     
    4543}
    4644
    47 // TODO: ContinuousValue<bool>::set must be defined inline otherwise we get multiple definition of virtual thunk compilation errors
     45// TODO: Value<bool>::setAsString must be defined inline otherwise we get multiple definition of virtual thunk compilation errors
    4846template <>
    49 inline void ContinuousValue<bool>::set(const std::string _value)
     47inline void Value<bool>::setAsString(const std::string _value)
    5048{
    5149  if (_value == std::string("yes")) {
    52     setValue(true);
     50    set(true);
    5351  } else if (_value == std::string("no")) {
    54     setValue(false);
     52    set(false);
    5553  } else {
    5654    ASSERT(0,
     
    103101    ValidFreezeCore[LARGE]="large";
    104102    appendParameter(
    105         new DiscreteParameter<std::string>(
     103        new Parameter<std::string>(
    106104            ParamNames[freeze_coreParam],
    107105            ValidFreezeCore,
     
    116114    ValidUnits[bohr]="bohr";
    117115    appendParameter(
    118         new DiscreteParameter<std::string>(
     116        new Parameter<std::string>(
    119117            ParamNames[unitsParam],
    120118            ValidUnits,
     
    128126    ValidDerivativeType[NONE]="none";
    129127    appendParameter(
    130         new DiscreteParameter<std::string>(
     128        new Parameter<std::string>(
    131129            ParamNames[dertypeParam],
    132130            ValidDerivativeType,
     
    142140    ValidUniqueAxis[Z]="z";
    143141    appendParameter(
    144         new DiscreteParameter<std::string>(
     142        new Parameter<std::string>(
    145143            ParamNames[unique_axisParam],
    146144            ValidUniqueAxis,
     
    160158    ValidJobtypes[RESPONSE]="response";
    161159    appendParameter(
    162         new DiscreteParameter<std::string>(
     160        new Parameter<std::string>(
    163161            ParamNames[jobtypeParam],
    164162            ValidJobtypes,
     
    184182    ValidWavefunction[ZAPTN]="zaptn";
    185183    appendParameter(
    186         new DiscreteParameter<std::string>(
     184        new Parameter<std::string>(
    187185            ParamNames[wavefunctionParam],
    188186            ValidWavefunction,
     
    199197    ValidReference[TWOCON]="twocon";
    200198    appendParameter(
    201         new DiscreteParameter<std::string>(
     199        new Parameter<std::string>(
    202200            ParamNames[referenceParam],
    203201            ValidReference,
     
    207205  // add all continuous parameters
    208206  {
    209     appendParameter(new StringParameter(ParamNames[labelParam], std::string("unknown job")));
    210     appendParameter(new ContinuousParameter<int>(ParamNames[maxiterParam], 80));
    211     appendParameter(new StringParameter(ParamNames[basisParam], std::string("cc-pVTZ")));
    212     appendParameter(new StringParameter(ParamNames[originParam], std::string("(0.0\t0.0\t0.0)"))); // TODO: this should be a vector
    213     appendParameter(new ContinuousParameter<int>(ParamNames[multiplicityParam], 1));
    214     appendParameter(new ContinuousParameter<int>(ParamNames[chargeParam], 0));
    215     appendParameter(new StringParameter(ParamNames[soccParam], std::string("()")));
    216     appendParameter(new StringParameter(ParamNames[doccParam], std::string("()")));
    217     appendParameter(new StringParameter(ParamNames[subgroupParam], std::string("")));
     207    appendParameter(new Parameter<string>(ParamNames[labelParam], std::string("unknown job")));
     208    appendParameter(new Parameter<int>(ParamNames[maxiterParam], 80));
     209    appendParameter(new Parameter<string>(ParamNames[basisParam], std::string("cc-pVTZ")));
     210    appendParameter(new Parameter<string>(ParamNames[originParam], std::string("(0.0\t0.0\t0.0)"))); // TODO: this should be a vector
     211    appendParameter(new Parameter<int>(ParamNames[multiplicityParam], 1));
     212    appendParameter(new Parameter<int>(ParamNames[chargeParam], 0));
     213    appendParameter(new Parameter<string>(ParamNames[soccParam], std::string("()")));
     214    appendParameter(new Parameter<string>(ParamNames[doccParam], std::string("()")));
     215    appendParameter(new Parameter<string>(ParamNames[subgroupParam], std::string("")));
    218216 }
    219217}
     
    229227const std::string Psi3Parser_Parameters::getParameter(const enum Parameters param) const
    230228{
    231   return FormatParser_Parameters::getParameter(ParamNames[param])->get();
     229  return FormatParser_Parameters::getParameter(ParamNames[param])->getAsString();
    232230}
    233231
     
    240238{
    241239  const std::string &name = getParameterName(param);
    242   FormatParser_Parameters::getParameter(name)->set(_value);
     240  FormatParser_Parameters::getParameter(name)->setAsString(_value);
    243241}
    244242
  • src/Parser/Psi3Parser_Parameters.hpp

    r6c05d8 r118f1e  
    2222#include "Parser/FormatParser_Parameters.hpp"
    2323
    24 #include "Parser/Parameters/ContinuousParameter.hpp"
     24#include "Parameters/Parameter.hpp"
     25#include "Parameters/Value.hpp"
    2526
    2627// specialization for bool (we want "yes/no" not "1/0")
    27 template <> inline const std::string ContinuousValue<bool>::get() const;
    28 template <> inline void ContinuousValue<bool>::set(const std::string _value);
     28template <> inline const std::string Value<bool>::getAsString() const;
     29template <> inline void Value<bool>::setAsString(const std::string _value);
    2930
    3031class Psi3Parser;
Note: See TracChangeset for help on using the changeset viewer.