ignore bCase parameter of wxSortedArrayString::Index() in STL build just as we do in non-STL one (it didn't work correctly anyhow)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2009-07-02 09:08:50 +00:00
parent 256cddd7e9
commit dc9934d489

View File

@ -475,31 +475,19 @@ void wxArrayString::Sort(bool reverseOrder)
}
}
int wxSortedArrayString::Index(const wxString& str, bool bCase, bool WXUNUSED(bFromEnd)) const
int wxSortedArrayString::Index(const wxString& str,
bool WXUNUSED_UNLESS_DEBUG(bCase),
bool WXUNUSED_UNLESS_DEBUG(bFromEnd)) const
{
wxSortedArrayString::const_iterator it;
wxASSERT_MSG( bCase && !bFromEnd,
"search parameters ignored for sorted array" );
if (bCase)
it = std::lower_bound(begin(), end(), str,
wxStringCompare(wxStringCmp()));
else
it = std::lower_bound(begin(), end(), str,
wxStringCompare(wxStringCmpNoCase()));
wxSortedArrayString::const_iterator
it = std::lower_bound(begin(), end(), str, wxStringCompare(wxStringCmp()));
if (it == end())
if ( it == end() || str.Cmp(*it) != 0 )
return wxNOT_FOUND;
if (bCase)
{
if (str.Cmp(*it) != 0)
return wxNOT_FOUND;
}
else
{
if (str.CmpNoCase(*it) != 0)
return wxNOT_FOUND;
}
return it - begin();
}