add cache for last used position and string length to UTF-8 wxString, dramatically improving performance of the code using indices to iterate over strings

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-08-28 19:19:11 +00:00
parent 8fad8b2e52
commit 68482dc584
4 changed files with 877 additions and 188 deletions

View File

@@ -84,11 +84,12 @@ struct wxIsMovable<const T*>
#endif // !VC++ < 7
// Our implementation of wxString is written in such way that it's safe to move
// it around. OTOH, we don't know anything about std::string.
// it around (unless position cache is used which unfortunately breaks this).
// OTOH, we don't know anything about std::string.
// (NB: we don't put this into string.h and choose to include wx/string.h from
// here instead so that rarely-used wxIsMovable<T> code isn't included by
// everything)
#if !wxUSE_STL
#if !wxUSE_STL && !wxUSE_STRING_POS_CACHE
WX_DECLARE_TYPE_MOVABLE(wxString)
#endif