| | #include <cctype> |
| | #include "util.h" |
| | #include "util/exception.hh" |
| |
|
| | namespace probingpt |
| | { |
| |
|
| | template<> |
| | bool Scan<bool>(const std::string &input) |
| | { |
| | std::string lc = ToLower(input); |
| | if (lc == "yes" || lc == "y" || lc == "true" || lc == "1") return true; |
| | if (lc == "no" || lc == "n" || lc == "false" || lc == "0") return false; |
| | UTIL_THROW2("Could not interpret " << input << " as a boolean. After lowercasing, valid values are yes, y, true, 1, no, n, false, and 0."); |
| | } |
| |
|
| | const std::string ToLower(const std::string& str) |
| | { |
| | std::string lc(str); |
| | std::transform(lc.begin(), lc.end(), lc.begin(), (int (*)(int))std::tolower); |
| | return |
| | lc ; |
| | } |
| |
|
| | } |
| |
|