struct __lt_str_case_insensitive { // compare case insensitive bool operator()(const char* s1, const char* s2) const { return strcasecmp(s1, s2) < 0; } }; // a std::map which uses char strings as case insensitive key(s) // and an arbitrary value typ template typedef std::map stringimap;