17 #ifndef OHMMS_SIMPLEPARSER_H 18 #define OHMMS_SIMPLEPARSER_H 29 char*
readLine(
char*
s,
int max, std::istream& fp);
31 int getwords(std::vector<std::string>& slist, std::istream& fp,
int dummy = 0,
const std::string& extra_tokens =
"");
35 const std::string& extra_tokens =
"");
36 int getwords(std::vector<std::string>& slist, std::istream& fp, std::string& aline);
37 int getwords(std::vector<std::string>& slist, std::istream& fpos,
const char* field,
const char* terminate);
38 int getXwords(std::vector<std::string>& slist, std::istream& fp);
40 unsigned parsewords(
const char* inbuf, std::vector<std::string>& slist,
const std::string& extra_tokens =
"");
41 unsigned parsewords(
const char* inbuf, std::list<std::string>& slist);
43 void readXmol(std::istream&,
double*,
int);
60 inline void getValue(std::istream& is, T& aval)
67 template<
class T1,
class T2>
68 inline void getValue(std::istream& is, T1& aval, T2& bval)
76 inline void getValues(std::istream& is, IT first, IT last)
82 while (first != last && a >> *first)
89 int search(std::istream& is,
const std::string& keyword)
95 getline(is, aline,
'\n');
98 std::cout <<
"KEYWORD " << keyword <<
" : NOT FOUND. " << std::endl;
101 if (aline.find(keyword) < aline.size())
109 int search(std::istream& is,
const std::string& keyword, std::string& the_line)
111 bool notfound =
true;
115 getline(is, aline,
'\n');
118 std::cout <<
"KEYWORD " << keyword <<
" : NOT FOUND. " << std::endl;
121 if (aline.find(keyword) < aline.size())
130 bool lookFor(std::istream& is,
const std::string& keyword)
132 bool notfound =
true;
136 getline(is, aline,
'\n');
137 if (aline.find(keyword) != std::string::npos)
151 bool lookFor(std::istream& is,
const std::string& keyword, std::string& the_line)
153 bool notfound =
true;
157 getline(is, aline,
'\n');
158 if (aline.find(keyword) != std::string::npos)
int getwords(std::vector< std::string > &slist, std::istream &fp, int dummy=0, const std::string &extra_tokens="")
int getXwords(std::vector< std::string > &slist, std::istream &fp)
std::vector< std::string > currentWords
unsigned parsewords(const char *inbuf, std::vector< std::string > &slist, const std::string &extra_tokens="")
void skiplines(std::istream &is, int n)
bool lookFor(std::istream &is, const std::string &keyword, std::string &the_line)
void readXmol(std::istream &, double *, int)
char * readLine(char *s, int max, std::istream &fp)
static const int bufferSize
int search(std::istream &is, const std::string &keyword)
int getwordsWithMergedNumbers(std::vector< std::string > &slist, std::istream &fp, int dummy=0, const std::string &extra_tokens="")
void getValue(std::istream &is, T &aval)
bool lookFor(std::istream &is, const std::string &keyword)
void getValues(std::istream &is, IT first, IT last)
int search(std::istream &is, const std::string &keyword, std::string &the_line)
void getValue(std::istream &is, T1 &aval, T2 &bval)