aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/Utilities/Util.cpp8
-rw-r--r--src/common/Utilities/Util.h2
-rw-r--r--src/common/Utilities/advstd.h1
3 files changed, 11 insertions, 0 deletions
diff --git a/src/common/Utilities/Util.cpp b/src/common/Utilities/Util.cpp
index d5c1137cdd7..b8550c9a72e 100644
--- a/src/common/Utilities/Util.cpp
+++ b/src/common/Utilities/Util.cpp
@@ -22,6 +22,8 @@
#include <utf8.h>
#include <algorithm>
#include <sstream>
+#include <string>
+#include <cctype>
#include <cstdarg>
#include <ctime>
@@ -755,6 +757,12 @@ bool StringToBool(std::string const& str)
return lowerStr == "1" || lowerStr == "true" || lowerStr == "yes";
}
+bool StringContainsStringI(std::string const& haystack, std::string const& needle)
+{
+ return haystack.end() !=
+ std::search(haystack.begin(), haystack.end(), needle.begin(), needle.end(), [](char c1, char c2) { return std::toupper(c1) == std::toupper(c2); });
+}
+
float DegToRad(float degrees)
{
return degrees * (2.f * float(M_PI) / 360.f);
diff --git a/src/common/Utilities/Util.h b/src/common/Utilities/Util.h
index d7c26fb98da..259af5068ff 100644
--- a/src/common/Utilities/Util.h
+++ b/src/common/Utilities/Util.h
@@ -352,6 +352,8 @@ std::array<uint8, Size> HexStrToByteArray(std::string const& str, bool reverse =
TC_COMMON_API bool StringToBool(std::string const& str);
TC_COMMON_API float DegToRad(float degrees);
+TC_COMMON_API bool StringContainsStringI(std::string const& haystack, std::string const& needle);
+
// simple class for not-modifyable list
template <typename T>
class HookList final
diff --git a/src/common/Utilities/advstd.h b/src/common/Utilities/advstd.h
index f2db86f11b2..975fc2c85ad 100644
--- a/src/common/Utilities/advstd.h
+++ b/src/common/Utilities/advstd.h
@@ -21,6 +21,7 @@
#include <cstddef>
#include <initializer_list>
#include <type_traits>
+#include <utility>
// this namespace holds implementations of upcoming stdlib features that our c++ version doesn't have yet
namespace advstd