int wxSortedArrayString::Index(const wxString& str, bool WXUNUSED_UNLESS_DEBUG(bCase), bool WXUNUSED_UNLESS_DEBUG(bFromEnd)) const { wxASSERT_MSG( bCase && !bFromEnd, "search parameters ignored for sorted array" ); wxSortedArrayString::const_iterator it = std::lower_bound(begin(), end(), str, wxStringCompare(wxStringCmp())); if ( it == end() || str.Cmp(*it) != 0 ) return wxNOT_FOUND; return it - begin(); }
int wxArrayString::Index(const wxString& str, bool bCase, bool WXUNUSED(bFromEnd)) const { wxArrayString::const_iterator it; if (bCase) { it = std::find_if(begin(), end(), std::not1( std::bind2nd( wxStringCmp(), str))); } else // !bCase { it = std::find_if(begin(), end(), std::not1( std::bind2nd( wxStringCmpNoCase(), str))); } return it == end() ? wxNOT_FOUND : it - begin(); }
int wxSortedArrayString::Index(const wxString& str, bool WXUNUSED_UNLESS_DEBUG(bCase), bool WXUNUSED_UNLESS_DEBUG(bFromEnd)) const { wxASSERT_MSG( bCase && !bFromEnd, "search parameters ignored for sorted array" ); wxSortedArrayString::const_iterator it = std::lower_bound(begin(), end(), str, #if __cplusplus >= 201103L [](const wxString& s1, const wxString& s2) { return s1 < s2; } #else // C++98 version wxStringCompare(wxStringCmp()) #endif // C++11/C++98 ); if ( it == end() || str.Cmp(*it) != 0 ) return wxNOT_FOUND; return it - begin(); }