Use iterators for string iteration instead of indices

This is much more efficient when using UTF-8 representation internally.

No real changes, just an optimization.
This commit is contained in:
Vadim Zeitlin
2019-08-20 13:45:53 +02:00
parent 533d82655f
commit 002492f932

View File

@@ -172,9 +172,10 @@ bool wxTextMeasure::DoGetPartialTextExtents(const wxString& text,
int offset = 0; int offset = 0;
int tabWidth = 0; int tabWidth = 0;
int tabHeight = 0; int tabHeight = 0;
for ( unsigned i = 0; i < text.length(); ++i ) int* widthPtr = &widths[0];
for ( wxString::const_iterator i = text.begin(); i != text.end(); ++i )
{ {
if ( text[i] == '\t' ) if ( *i == '\t' )
{ {
if ( tabWidth == 0 ) if ( tabWidth == 0 )
{ {
@@ -182,7 +183,8 @@ bool wxTextMeasure::DoGetPartialTextExtents(const wxString& text,
} }
offset += tabWidth; offset += tabWidth;
} }
widths[i] += offset;
*widthPtr++ += offset;
} }
return true; return true;