base: Clean up redundant string functions and use C++11

This patch does a bit of housekeeping on the string helper functions
and relies on the C++11 standard library where possible. It also does
away with our custom string hash as an implementation is already part
of the standard library.
This commit is contained in:
Andreas Hansson
2014-09-20 17:17:49 -04:00
parent b2c2e67468
commit 0fa128bbd0
7 changed files with 97 additions and 327 deletions

View File

@@ -111,38 +111,25 @@ showParam(ostream &os, const unsigned char &value)
}
// Use sscanf() for FP types as to_number() only handles integers
template <>
bool
parseParam(const string &s, float &value)
{
return (sscanf(s.c_str(), "%f", &value) == 1);
return to_number(s, value);
}
template <>
bool
parseParam(const string &s, double &value)
{
return (sscanf(s.c_str(), "%lf", &value) == 1);
return to_number(s, value);
}
template <>
bool
parseParam(const string &s, bool &value)
{
const string &ls = to_lower(s);
if (ls == "true") {
value = true;
return true;
}
if (ls == "false") {
value = false;
return true;
}
return false;
return to_bool(s, value);
}
// Display bools as strings