26 str.erase(0, str.find_first_not_of(
"\t\r\n "));
27 str.erase(str.find_last_not_of(
"\t\r\n ") + 1);
30 std::istringstream iss(str);
32 iss >> std::ws >> result;
33 if (iss.fail() || !iss.eof()) {
34 throw std::invalid_argument(
"not a number");