From a0e676b64ac3be9317526e22adc1482ba316d6df Mon Sep 17 00:00:00 2001 From: Leonid Fedorov Date: Fri, 23 May 2025 22:53:52 +0000 Subject: [PATCH] chore(codemanagement): nodeps headers, potentioal library --- utils/basic/string_utils.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 utils/basic/string_utils.h diff --git a/utils/basic/string_utils.h b/utils/basic/string_utils.h new file mode 100644 index 000000000..94f17636a --- /dev/null +++ b/utils/basic/string_utils.h @@ -0,0 +1,15 @@ +#pragma once + +#include +#include + +namespace datatypes +{ +inline bool ASCIIStringCaseInsensetiveEquals(const std::string& left, const std::string& right) +{ + auto asciiHigher = [](char c) { return (c >= 'a' && c <= 'z') ? c - 'a' + 'A' : c; }; + return left.size() == right.size() && + std::equal(left.begin(), left.end(), right.begin(), + [&asciiHigher](char l, char r) { return asciiHigher(l) == asciiHigher(r); }); +} +} // namespace datatypes \ No newline at end of file