void FeatureStats::loadtxt(const string &file) { ifstream ifs(file.c_str(), ios::in); if (!ifs) { cerr << "Failed to open " << file << endl; exit(1); } istream* is = &ifs; loadtxt(is); }
void ScoreStats::loadtxt(const string &file) { ifstream ifs(file.c_str(), ios::in); // matches a stream with a file. Opens the file if (!ifs) { cerr << "Failed to open " << file << endl; exit(1); } istream* is = &ifs; loadtxt(is); }
void ScoreArray::load(istream* is) { size_t number_of_entries = 0; bool binmode = false; string substring, stringBuf; string::size_type loc; getline(*is, stringBuf); if (!is->good()) { return; } if (!stringBuf.empty()) { if ((loc = stringBuf.find(SCORES_TXT_BEGIN)) == 0) { binmode=false; } else if ((loc = stringBuf.find(SCORES_BIN_BEGIN)) == 0) { binmode=true; } else { TRACE_ERR("ERROR: ScoreArray::load(): Wrong header"); return; } getNextPound(stringBuf, substring); getNextPound(stringBuf, substring); m_index = atoi(substring.c_str()); getNextPound(stringBuf, substring); number_of_entries = atoi(substring.c_str()); getNextPound(stringBuf, substring); m_num_scores = atoi(substring.c_str()); getNextPound(stringBuf, substring); m_score_type = substring; } if (binmode) { loadbin(is, number_of_entries); } else { loadtxt(is, number_of_entries); } getline(*is, stringBuf); if (!stringBuf.empty()) { if ((loc = stringBuf.find(SCORES_TXT_END)) != 0 && (loc = stringBuf.find(SCORES_BIN_END)) != 0) { TRACE_ERR("ERROR: ScoreArray::load(): Wrong footer"); return; } } }