1*59599516SKenneth E. Jansen #ifndef H_Input 2*59599516SKenneth E. Jansen #define H_Input 3*59599516SKenneth E. Jansen #include <vector> 4*59599516SKenneth E. Jansen #include <string> 5*59599516SKenneth E. Jansen #include <map> 6*59599516SKenneth E. Jansen 7*59599516SKenneth E. Jansen #include "ValType.h" 8*59599516SKenneth E. Jansen 9*59599516SKenneth E. Jansen using namespace std; 10*59599516SKenneth E. Jansen 11*59599516SKenneth E. Jansen class Input { 12*59599516SKenneth E. Jansen public: 13*59599516SKenneth E. Jansen Input(const string &, const string &default_fname = ""); 14*59599516SKenneth E. Jansen Input(const char*, const char* = ""); 15*59599516SKenneth E. Jansen ~Input(); 16*59599516SKenneth E. Jansen 17*59599516SKenneth E. Jansen // return the entire input map 18*59599516SKenneth E. Jansen map<string,string> InputMap() const; 19*59599516SKenneth E. Jansen 20*59599516SKenneth E. Jansen // returns the desired string 21*59599516SKenneth E. Jansen // const string &GetValue(const string &) const; 22*59599516SKenneth E. Jansen ValType GetValue(const string &) const; 23*59599516SKenneth E. Jansen 24*59599516SKenneth E. Jansen // echo the entire input map 25*59599516SKenneth E. Jansen void EchoInputMap(const ostream &ofile); 26*59599516SKenneth E. Jansen 27*59599516SKenneth E. Jansen private: 28*59599516SKenneth E. Jansen 29*59599516SKenneth E. Jansen void trim_string(string *str); 30*59599516SKenneth E. Jansen 31*59599516SKenneth E. Jansen void get_input_lines(vector<string> *, ifstream& ); 32*59599516SKenneth E. Jansen void build_map(map<string,string> *, vector<string> *); 33*59599516SKenneth E. Jansen 34*59599516SKenneth E. Jansen map<string,string> *input_map; 35*59599516SKenneth E. Jansen map<string,string> *default_map; 36*59599516SKenneth E. Jansen 37*59599516SKenneth E. Jansen vector<string> *input_text; 38*59599516SKenneth E. Jansen vector<string> *default_text; 39*59599516SKenneth E. Jansen 40*59599516SKenneth E. Jansen }; 41*59599516SKenneth E. Jansen 42*59599516SKenneth E. Jansen 43*59599516SKenneth E. Jansen 44*59599516SKenneth E. Jansen 45*59599516SKenneth E. Jansen #endif 46