00001 #include "cpr/cprtypes.h" 00002 00003 #include <algorithm> 00004 #include <cctype> 00005 00006 namespace cpr { 00007 00008 bool CaseInsensitiveCompare::operator()(const std::string& a, const std::string& b) const noexcept { 00009 return std::lexicographical_compare( 00010 a.begin(), a.end(), b.begin(), b.end(), 00011 [](unsigned char ac, unsigned char bc) { return std::tolower(ac) < std::tolower(bc); }); 00012 } 00013 00014 } // namespace cpr