2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-05-13 20:31:21 +00:00
metaforce/Runtime/CStringExtras.hpp
2018-10-06 17:42:33 -10:00

38 lines
756 B
C++

#pragma once
#include <string>
#include <cstring>
namespace urde
{
class CStringExtras
{
public:
static int CompareCaseInsensitive(const char* a, const char* b)
{
#if _WIN32
return _stricmp(a, b);
#else
return strcasecmp(a, b);
#endif
}
static int CompareCaseInsensitive(std::string_view a, std::string_view b)
{
return CompareCaseInsensitive(a.data(), b.data());
}
static int IndexOfSubstring(std::string_view haystack, std::string_view needle)
{
std::string str(haystack);
std::transform(str.begin(), str.end(), str.begin(), tolower);
std::string::size_type s = str.find(needle);
if (s == std::string::npos)
return -1;
return s;
}
};
}