7 using namespace popgen;
13 vector<FamilyConfig> result;
17 if (myfile.is_open()) {
18 while (getline(myfile, line)) {
20 result.push_back(parseFamily(line));
25 throw invalid_argument(
"In FamilyParser: Invalid file name");
34 for (
char& c: config) {
35 static uint current_age = 0;
36 static bool encountered_space =
false;
39 if (not encountered_space) {
40 result.push_back(current_age);
42 encountered_space =
true;
44 }
else if (&c == &config.back()) {
45 encountered_space =
false;
48 result.push_back(current_age);
50 }
else if (c >=
int(
'0') && c <=
int(
'9')) {
51 encountered_space =
false;
55 throw invalid_argument(
"In FamilyParser: Encountered something that isn't an unsigned integer or a space");
Interface for install directory queries.
Time Dependent Person DataType.
static boost::filesystem::path getDataDir()
Utility method: get path to the directory for data files.
vector< FamilyConfig > parseFamilies(string filename) const
FamilyConfig parseFamily(string config) const
vector< uint > FamilyConfig