forked from organicmaps/organicmaps
Add strings::AsciiToLower fast function.
This commit is contained in:
parent
4026da0de7
commit
7cf9981c61
2 changed files with 19 additions and 0 deletions
|
@ -104,6 +104,22 @@ UniString Normalize(UniString const & s)
|
|||
return result;
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
char ascii_to_lower(char in)
|
||||
{
|
||||
static char const diff = 'Z'-'z';
|
||||
if (in <= 'Z' && in >= 'A')
|
||||
return (in-diff);
|
||||
return in;
|
||||
}
|
||||
}
|
||||
|
||||
void AsciiToLower(string & s)
|
||||
{
|
||||
transform(s.begin(), s.end(), s.begin(), &ascii_to_lower);
|
||||
}
|
||||
|
||||
bool EqualNoCase(string const & s1, string const & s2)
|
||||
{
|
||||
return MakeLowerCase(s1) == MakeLowerCase(s2);
|
||||
|
|
|
@ -28,8 +28,11 @@ public:
|
|||
UniString MakeLowerCase(UniString const & s);
|
||||
void MakeLowerCase(UniString & s);
|
||||
UniString Normalize(UniString const & s);
|
||||
/// For implementation @see base/normilize_unicode.cpp
|
||||
void Normalize(UniString & s);
|
||||
|
||||
void AsciiToLower(string & s);
|
||||
|
||||
void MakeLowerCase(string & s);
|
||||
string MakeLowerCase(string const & s);
|
||||
bool EqualNoCase(string const & s1, string const & s2);
|
||||
|
|
Loading…
Add table
Reference in a new issue