27 std::ifstream inputfile(inputfilename);
28 std::vector<Parameter> params;
29 bool b = inputfile.is_open();
32 std::cerr <<
"Unable to open file: " << inputfilename << std::endl;
37 std::regex pattern(R
"(\|\s*:\-*:\s*\|)");
46 while (std::getline(inputfile, line))
48 if (std::regex_search(line, pattern)) { linepattern = i;
break;}
54 inputfile.open(inputfilename);
55 b = inputfile.is_open();
58 std::cerr <<
"Unable to open file: " << inputfilename << std::endl;
63 while (std::getline(inputfile, line))
66 if (linepattern>=0) {linepattern--;
continue;}
69 std::stringstream ss(line);
74 size_t separators = 0;
76 if (c ==
'|') { separators++; }
80 std::getline(ss, item,
'|');
81 std::getline(ss, item,
'|');
84 std::getline(ss, item,
'|');
88 std::string fully_scoped_param_name;
89 if (!group_string.empty())
90 {fully_scoped_param_name = group_string+std::string(
"::")+param_string;}
92 {fully_scoped_param_name = param_string;}
97 std::getline(ss, item,
'|');
100 std::getline(ss, item,
'|');
104 std::getline(ss, item,
'|');
108 std::getline(ss, item,
'|');
110 if (req_s ==
"Yes" || req_s ==
"yes" || req_s ==
"True" || req_s ==
"true" || req_s ==
"1")
113 std::getline(ss, item,
'|');
117 std::getline(ss, item,
'|');
121 if (separators == 10)
124 std::getline(ss, item,
'|');
128 else if (separators == 9)
134 std::cerr <<
"Detected a line with an invalid format in:" << inputfilename;
137 std::getline(ss, item,
'\n');
154 ppp2.
type =
"string";