44 FILE *f = fopen(fname,
"r");
48 ERRORMSG(
"DiscMeta: Could not open file '" << fname <<
"' on node ");
54 std::string *words = 0;
61 if (words != 0 && numtokens > 0) {
78 if ((*a).second.second != 0)
79 delete [] ((*a).second.second);
93 while (i != n && iter !=
end()) {
122 while (i != n && iter !=
end()) {
128 return (*iter).second.first;
140 while (i != n && iter !=
end()) {
146 return (*iter).second.second;
157 const int bufferSize = 1024*128;
158 char bufferstore[bufferSize];
164 if (fgets(bufferstore, bufferSize, f) == 0)
166 unsigned int len = strlen(bufferstore);
167 if (len > 0 && bufferstore[len-1] ==
'\n')
168 bufferstore[len - 1] =
'\0';
171 buffer = bufferstore;
172 while (*buffer ==
' ' || *buffer ==
'\t')
174 if (*buffer ==
'#' || *buffer ==
'\n' || *buffer ==
'\0')
190 msg <<
"Lines in file = " <<
size() <<
endl;
191 for (
unsigned int i=0; i <
size(); ++i) {
192 msg <<
" Line " << i <<
": '" <<
getKeyword(i) <<
"' =";
194 msg <<
" '" <<
getWords(i)[j] <<
"'";
std::pair< iterator, bool > insert(const value_type &x)
static void abort(const char *=0, int exitcode=(-1))
unsigned int size() const
std::string * getWords(unsigned int)
static int dc_tokenize_string(const char *s, const char *tok, std::string *&)
std::pair< int, std::string * > element_t
void printDebug(Inform &)
container_t::value_type value_type
DiscMeta(const char *fname)
int getNumWords(unsigned int) const
bool read_meta_line(FILE *, std::string *&, int &)
int getLineNumber(unsigned int) const
container_t::const_iterator const_iterator
const std::string & getKeyword(unsigned int)
container_t::iterator iterator
Inform & endl(Inform &inf)