add 2nd operator() to prepare for future FindInReadable work in bug 100214

not part of build
This commit is contained in:
alecf%netscape.com 2001-10-09 23:41:57 +00:00
Родитель 873429e94e
Коммит cb51588cc2
2 изменённых файлов: 16 добавлений и 25 удалений

Просмотреть файл

@ -83,34 +83,12 @@ ToUpperCase( nsAString& aString )
copy_string(aString.BeginWriting(fromBegin), aString.EndWriting(fromEnd), converter);
}
class CaseInsensitivePRUnicharComparator
{
public:
PRBool operator()( PRUnichar lhs, PRUnichar rhs ) const {
NS_InitCaseConversion();
PRUnichar lhsUpper; PRUnichar rhsUpper;
gCaseConv->ToUpper(lhs, &lhsUpper);
gCaseConv->ToUpper(rhs, &rhsUpper);
return lhsUpper = rhsUpper;
}
};
PRBool
CaseInsensitiveFindInReadable( const nsAString& aPattern, nsAString::const_iterator& aSearchStart, nsAString::const_iterator& aSearchEnd )
{
nsAutoString lowerPattern(aPattern);
ToLowerCase(lowerPattern);
{
return FindInReadable(aPattern, aStart, aEnd, nsCaseInsensitiveStringComparator());
}
nsAutoString lowerString;
CopyUnicodeTo(aSearchStart, aSearchEnd, lowerString);
nsAString::const_iterator match_start, match_end;
return FindInReadable(lowerPattern,
lowerString.BeginReading(match_start),
lowerString.EndReading(match_end));
}
int
nsCaseInsensitiveStringComparator::operator()( const PRUnichar* lhs, const PRUnichar* rhs, PRUint32 aLength ) const
@ -121,4 +99,16 @@ nsCaseInsensitiveStringComparator::operator()( const PRUnichar* lhs, const PRUni
return result;
}
PRBool
nsCaseInsensitiveStringComparator::operator()( PRUnichar lhs, PRUnichar rhs ) const
{
if (lhs == rhs) return PR_TRUE;
NS_InitCaseConversion();
gCaseConv->ToUpper(lhs, &lhs);
gCaseConv->ToUpper(rhs, &rhs);
return lhs == rhs;
}
#endif

Просмотреть файл

@ -34,6 +34,7 @@ class nsCaseInsensitiveStringComparator
{
public:
virtual int operator()( const PRUnichar*, const PRUnichar*, PRUint32 aLength ) const;
virtual int operator()( PRUnichar, PRUnichar ) const;
};
#endif