51static void splitString( Container &result,
const std::string &input,
const std::string &delimiter ) {
57 end = input.find(delimiter, start);
59 if (end != std::string::npos)
62 length = input.length() - start;
65 result.push_back(input.substr(start, length));
67 start = end + delimiter.size();
68 }
while (end != std::string::npos);
79static typename std::map<std::string, T>::const_iterator
caseInsensitiveFind(
const std::map<std::string, T> & m,
const std::string & lowerCaseSearchKey) {
80 auto it = std::find_if(m.begin(),m.end(), [&lowerCaseSearchKey](
const std::pair<std::string, T> & p){
82 p.first.begin(), p.first.end(),
83 lowerCaseSearchKey.begin(), lowerCaseSearchKey.end(),
84 [](unsigned char a, unsigned char b) {
85 return (std::tolower(a) == b);