00001 #ifndef __PARAMETERMAP__CC__
00002 #define __PARAMETERMAP__CC__
00003
00004 #include "parametermap.h"
00005 #include "cheezyparser.h"
00006 #include "any.h"
00007 #include "message.h"
00008
00009 using namespace std;
00010
00011
00012
00013
00014
00015 bool parameter::getB( parameterMap m, string k, bool d ){return m.getItem(k,d);}
00016 int parameter::getI( parameterMap m, string k, int d ){return m.getItem(k,d);}
00017 string parameter::getS( parameterMap m, string k, string d ){return m.getItem(k,d);}
00018 double parameter::getD( parameterMap m, string k, double d ){return m.getItem(k,d);}
00019 vector< bool > parameter::getVB( parameterMap m, string k, const vector< bool >& d ){return m.getItem(k,d);}
00020 vector< int > parameter::getVI( parameterMap m, string k, const vector< int >& d ){return m.getItem(k,d);}
00021 vector< double > parameter::getV( parameterMap m, string k, const vector< double >& d ){return m.getItem(k,d);}
00022 vector< string > parameter::getVS( parameterMap m, string k, const vector< string >& d ){return m.getItem(k,d);}
00023 vector< vector< double > > parameter::getM( parameterMap m, string k, const vector< vector< double > >& d ){return m.getItem(k,d);}
00024
00025
00026 bool parameter::getB( parameterMap m, string k ){return m.getItem<bool>(k);}
00027 int parameter::getI( parameterMap m, string k ){return m.getItem<int>(k);}
00028 string parameter::getS( parameterMap m, string k ){return m.getItem<string>(k);}
00029 double parameter::getD( parameterMap m, string k ){return m.getItem<double>(k);}
00030 vector< bool > parameter::getVB( parameterMap m, string k ){return m.getItem< vector< bool > >(k);}
00031 vector< int > parameter::getVI( parameterMap m, string k ){return m.getItem< vector< int > >(k);}
00032 vector< double > parameter::getV( parameterMap m, string k ){return m.getItem< vector< double > >(k);}
00033 vector< string > parameter::getVS( parameterMap m, string k ){return m.getItem< vector< string > >(k);}
00034 vector< vector< double > > parameter::getM( parameterMap m, string k ){return m.getItem< vector< vector< double > > >(k);}
00035 parameterMap parameter::getMap( parameterMap m, string k ){return m.getItem<parameterMap>(k);}
00036
00037
00038 void parameter::set( parameterMap& m, string k, bool v ){m.setItem(k,v);}
00039
00040 void parameter::set( parameterMap& m, string k, int v ){m.setItem(k,v);}
00041
00042 void parameter::set( parameterMap& m, string k, double v ){m.setItem(k,v);}
00043
00044 void parameter::set( parameterMap& m, string k, string v ){m.setItem(k,v);}
00045
00046 void parameter::set( parameterMap& m, string k, char* v ){m.setItem(k,(string)v);}
00047
00048 void parameter::set( parameterMap& m, string k, vector< bool > v ){m.setItem(k,v);}
00049
00050 void parameter::set( parameterMap& m, string k, vector< int > v ){m.setItem(k,v);}
00051
00052 void parameter::set( parameterMap& m, string k, vector< double > v ){m.setItem(k,v);}
00053
00054 void parameter::set( parameterMap& m, string k, vector< string > v ){m.setItem(k,v);}
00055
00056 void parameter::set( parameterMap& m, string k, vector< vector< double > > v ){m.setItem(k,v);}
00057
00058 void parameter::set( parameterMap& m, string k, parameterMap v ){m.setItem(k,v);}
00059
00060
00061
00062
00063
00064
00065 void parameter::ReadParsFromFile(parameterMap& apars, string inFileName){
00066 ifstream inMapFile(inFileName.c_str());
00067 if (!inMapFile.good())
00068 throw MESSAGE<< "Cannot open file "<<inFileName<<ENDM_SEVERE;
00069 inMapFile>>apars;
00070 }
00071
00072 void parameter::ReadParsFromFile(parameterMap& apars, char *inFileName){
00073 cout << "Reading parameters from file " << inFileName << endl;
00074 ifstream inMapFile(inFileName);
00075 if (!inMapFile.good())
00076 throw MESSAGE<< "Cannot open file "<<inFileName<<ENDM_SEVERE;
00077 inMapFile>>apars;
00078 }
00079
00080
00081
00082 void parameter::WriteParsToFile(parameterMap& apars, string outFileName){
00083 ofstream outMapFile(outFileName.c_str());
00084 if (!outMapFile.good())
00085 throw MESSAGE<< "Cannot open file "<<outFileName<<ENDM_SEVERE;
00086 outMapFile<<apars;
00087 }
00088
00089 void parameter::PrintPars(parameterMap& pars){
00090 cout << pars << endl;
00091
00092
00093
00094
00095
00096 }
00097
00098 #endif