14 namespace Azure {
namespace Core {
namespace _internal {
20 struct StringExtensions final
22 struct CaseInsensitiveComparator final
24 bool operator()(
const std::string& lhs,
const std::string& rhs)
const
26 return std::lexicographical_compare(
27 lhs.begin(), lhs.end(), rhs.begin(), rhs.end(), [](
char c1,
char c2) {
28 return ToLower(c1) < ToLower(c2);
33 static bool LocaleInvariantCaseInsensitiveEqual(
34 const std::string& lhs,
35 const std::string& rhs) noexcept;
36 static std::string
const ToLower(std::string
const& src) noexcept;
37 static unsigned char ToLower(
unsigned char const src) noexcept;
38 static std::string
const ToUpper(std::string
const& src) noexcept;
39 static unsigned char ToUpper(
unsigned char const src) noexcept;