forked from mia/Aegisub
Use a binary search in IsWhitespace rather than linear
Originally committed to SVN as r6613.
This commit is contained in:
parent
1f1e9a700a
commit
e6f55bdbcb
1 changed files with 1 additions and 16 deletions
|
@ -227,12 +227,7 @@ void GetWordBoundaries(const wxString text, IntPairVector &results, int start, i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// @brief Determine whether wchar 'c' is a whitespace character
|
/// @brief Determine whether wchar 'c' is a whitespace character
|
||||||
/// @param c
|
|
||||||
/// @return
|
|
||||||
///
|
|
||||||
bool IsWhitespace(wchar_t c)
|
bool IsWhitespace(wchar_t c)
|
||||||
{
|
{
|
||||||
const wchar_t whitespaces[] = {
|
const wchar_t whitespaces[] = {
|
||||||
|
@ -243,20 +238,10 @@ bool IsWhitespace(wchar_t c)
|
||||||
0x025F, 0x3000, 0xFEFF
|
0x025F, 0x3000, 0xFEFF
|
||||||
};
|
};
|
||||||
const size_t num_chars = sizeof(whitespaces) / sizeof(whitespaces[0]);
|
const size_t num_chars = sizeof(whitespaces) / sizeof(whitespaces[0]);
|
||||||
|
return std::binary_search(whitespaces, whitespaces + num_chars, c);
|
||||||
for (size_t i = 0; i < num_chars; ++i)
|
|
||||||
if (whitespaces[i] == c)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// @brief Returns true if str is empty of consists of only whitespace
|
/// @brief Returns true if str is empty of consists of only whitespace
|
||||||
/// @param str
|
|
||||||
/// @return
|
|
||||||
///
|
|
||||||
bool StringEmptyOrWhitespace(const wxString &str)
|
bool StringEmptyOrWhitespace(const wxString &str)
|
||||||
{
|
{
|
||||||
for (size_t i = 0; i < str.size(); ++i)
|
for (size_t i = 0; i < str.size(); ++i)
|
||||||
|
|
Loading…
Reference in a new issue