else
{
// unknown setting encountered. see if its on the ignore list before throwing.
- std::set<string> parts;
+ vector<string> parts;
stringtok(parts, d_params["ignore-unknown-settings"], " ,\t\n\r");
- if (parts.find(var) != parts.end()) {
+ if (find(parts.begin(), parts.end(), var) != parts.end()) {
d_unknownParams[var] = val;
g_log<<Logger::Warning<<"Ignoring unknown setting '"<<var<<"' as requested"<<endl;
return;
};
void parseService(const string &descr, ServiceTuple &st);
-template<typename Container, class Enable = void>
+template<typename Container>
void
stringtok (Container &container, string const &in,
- const char * const delimiters = " \t\n");
-
-template<typename Container,
- typename std::enable_if<std::is_function<typename Container::push_back>::value>::type = true>
-void
-stringtok (Container &container, string const &in,
- const char * const delimiters)
+ const char * const delimiters = " \t\n")
{
const string::size_type len = in.length();
string::size_type i = 0;
}
}
-template<typename Container,
- typename std::enable_if<std::is_function<typename Container::insert>::value>::type = true>
-void
-stringtok (Container &container, string const &in,
- const char * const delimiters)
-{
- const string::size_type len = in.length();
- string::size_type i = 0;
-
- while (i<len) {
- // eat leading whitespace
- i = in.find_first_not_of (delimiters, i);
- if (i == string::npos)
- return; // nothing left but white space
-
- // find the end of the token
- string::size_type j = in.find_first_of (delimiters, i);
-
- // push token
- if (j == string::npos) {
- container.insert (in.substr(i));
- return;
- } else
- container.insert (in.substr(i, j-i));
-
- // set up for next loop
- i = j + 1;
- }
-}
-
template<typename T> bool rfc1982LessThan(T a, T b)
{
static_assert(std::is_unsigned<T>::value, "rfc1982LessThan only works for unsigned types");