1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
template <typename T>
void StoreValue(std::string &valueStr, T &value)
{
std::stringstream strm(valueStr);
if (!(strm >> value)) {
std::cout << "Error parsing " << valueStr << std::endl;
std::exit(EXIT_FAILURE);
}
}
template <typename T_Value>
bool KeywordValuePair<T_Value>::Parse(std::string &kvPair, const char *key, T_Value &result)
{
std::string kvKey, kvValue;
SplitSAMKeyValuePair(kvPair, kvKey, kvValue);
if (kvKey != key) {
return false;
} else {
std::stringstream strm(kvValue);
if (!(kvValue >> result)) {
return false;
} else {
return true;
}
}
}
template <typename T_Value>
bool KeywordValuePair<T_Value>::Store(std::string &valueStr, T_Value &value)
{
return (std::stringstream(valueStr) >> value);
}
|