18 bool less_icase(
const char* a,
const char* b) {
23 if (*a == 0 && *b == 0)
33 bool less_icase(
const char* a,
const std::string& b) {
34 std::string::const_iterator bi = b.begin();
39 if (*a == 0 && bi == b.end())
49 bool less_icase(
const std::string& a,
const char* b) {
50 std::string::const_iterator ai = a.begin();
55 if (ai == a.end() && *b == 0)
65 bool less_icase(
const std::string& a,
const std::string& b) {
66 return std::lexicographical_compare(
67 a.begin(), a.end(), b.begin(), b.end(),
68 [](
char c1,
char c2) { return to_lower(c1) < to_lower(c2); });