159599516SKenneth E. Jansen #ifndef H_Input 259599516SKenneth E. Jansen #define H_Input 359599516SKenneth E. Jansen #include <vector> 459599516SKenneth E. Jansen #include <string> 559599516SKenneth E. Jansen #include <map> 659599516SKenneth E. Jansen 759599516SKenneth E. Jansen #include "ValType.h" 859599516SKenneth E. Jansen 959599516SKenneth E. Jansen using namespace std; 1059599516SKenneth E. Jansen 11*9ae91bddSCameron Smith namespace phSolver{ 1259599516SKenneth E. Jansen class Input { 1359599516SKenneth E. Jansen public: 1459599516SKenneth E. Jansen Input(const string &, const string &default_fname = ""); 1559599516SKenneth E. Jansen ~Input(); 1659599516SKenneth E. Jansen 1759599516SKenneth E. Jansen // return the entire input map 1859599516SKenneth E. Jansen map<string,string> InputMap() const; 1959599516SKenneth E. Jansen 2059599516SKenneth E. Jansen // returns the desired string 2159599516SKenneth E. Jansen // const string &GetValue(const string &) const; 2259599516SKenneth E. Jansen ValType GetValue(const string &) const; 2359599516SKenneth E. Jansen 2459599516SKenneth E. Jansen // echo the entire input map 2559599516SKenneth E. Jansen void EchoInputMap(const ostream &ofile); 2659599516SKenneth E. Jansen 27*9ae91bddSCameron Smith const char* GetUserFileName(); 28*9ae91bddSCameron Smith const char* GetDefaultFileName(); 2959599516SKenneth E. Jansen private: 3059599516SKenneth E. Jansen 3159599516SKenneth E. Jansen void trim_string(string *str); 3259599516SKenneth E. Jansen 3359599516SKenneth E. Jansen void get_input_lines(vector<string> *, ifstream& ); 3459599516SKenneth E. Jansen void build_map(map<string,string> *, vector<string> *); 3559599516SKenneth E. Jansen 3659599516SKenneth E. Jansen map<string,string> *input_map; 3759599516SKenneth E. Jansen map<string,string> *default_map; 3859599516SKenneth E. Jansen 3959599516SKenneth E. Jansen vector<string> *input_text; 4059599516SKenneth E. Jansen vector<string> *default_text; 4159599516SKenneth E. Jansen 42*9ae91bddSCameron Smith string userConfFileName; 43*9ae91bddSCameron Smith string defaultConfFileName; 44*9ae91bddSCameron Smith 4559599516SKenneth E. Jansen }; 46*9ae91bddSCameron Smith } //end phSolver namespace 4759599516SKenneth E. Jansen 4859599516SKenneth E. Jansen #endif 49