define size() in terms of length(), not vice versa, to make the code somewhat faster in non-optimized builds + some typo fixes in comments (patch 1440237)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2006-03-12 13:37:56 +00:00
parent 9eb5cd3b1f
commit 20aa779e3e

View File

@ -364,9 +364,9 @@ public:
wxStringBase& operator=(const wxChar *psz); wxStringBase& operator=(const wxChar *psz);
// return the length of the string // return the length of the string
size_type size() const { return GetStringData()->nDataLength; } size_type length() const { return GetStringData()->nDataLength; }
// return the length of the string // return the length of the string
size_type length() const { return size(); } size_type size() const { return length(); }
// return the maximum size of the string // return the maximum size of the string
size_type max_size() const { return wxSTRING_MAXLEN; } size_type max_size() const { return wxSTRING_MAXLEN; }
// resize the string, filling the space with c if c != 0 // resize the string, filling the space with c if c != 0
@ -374,7 +374,7 @@ public:
// delete the contents of the string // delete the contents of the string
void clear() { erase(0, npos); } void clear() { erase(0, npos); }
// returns true if the string is empty // returns true if the string is empty
bool empty() const { return size() == 0; } bool empty() const { return length() == 0; }
// inform string about planned change in size // inform string about planned change in size
void reserve(size_t sz) { Alloc(sz); } void reserve(size_t sz) { Alloc(sz); }
size_type capacity() const { return GetStringData()->nAllocLength; } size_type capacity() const { return GetStringData()->nAllocLength; }
@ -615,7 +615,7 @@ friend class WXDLLIMPEXP_BASE wxArrayString;
// NB: special care was taken in arranging the member functions in such order // NB: special care was taken in arranging the member functions in such order
// that all inline functions can be effectively inlined, verify that all // that all inline functions can be effectively inlined, verify that all
// performace critical functions are still inlined if you change order! // performance critical functions are still inlined if you change order!
private: private:
// if we hadn't made these operators private, it would be possible to // if we hadn't made these operators private, it would be possible to
// compile "wxString s; s = 17;" without any warnings as 17 is implicitly // compile "wxString s; s = 17;" without any warnings as 17 is implicitly
@ -653,7 +653,7 @@ public:
wxString(const wxChar *psz, wxMBConv& WXUNUSED(conv), size_t nLength = npos) wxString(const wxChar *psz, wxMBConv& WXUNUSED(conv), size_t nLength = npos)
: wxStringBase(psz, nLength == npos ? wxStrlen(psz) : nLength) { } : wxStringBase(psz, nLength == npos ? wxStrlen(psz) : nLength) { }
// even we're not build with wxUSE_STL == 1 it is very convenient to allow // even if we're not built with wxUSE_STL == 1 it is very convenient to allow
// implicit conversions from std::string to wxString as this allows to use // implicit conversions from std::string to wxString as this allows to use
// the same strings in non-GUI and GUI code, however we don't want to // the same strings in non-GUI and GUI code, however we don't want to
// unconditionally add this ctor as it would make wx lib dependent on // unconditionally add this ctor as it would make wx lib dependent on
@ -693,7 +693,7 @@ public:
// string contains any characters? // string contains any characters?
bool IsEmpty() const { return empty(); } bool IsEmpty() const { return empty(); }
// empty string is "false", so !str will return true // empty string is "false", so !str will return true
bool operator!() const { return IsEmpty(); } bool operator!() const { return empty(); }
// truncate the string to given length // truncate the string to given length
wxString& Truncate(size_t uiLen); wxString& Truncate(size_t uiLen);
// empty string contents // empty string contents
@ -993,7 +993,7 @@ public:
// (if compareWithCase then the case matters) // (if compareWithCase then the case matters)
bool IsSameAs(const wxChar *psz, bool compareWithCase = true) const bool IsSameAs(const wxChar *psz, bool compareWithCase = true) const
{ return (compareWithCase ? Cmp(psz) : CmpNoCase(psz)) == 0; } { return (compareWithCase ? Cmp(psz) : CmpNoCase(psz)) == 0; }
// comparison with a signle character: returns true if equal // comparison with a single character: returns true if equal
bool IsSameAs(wxChar c, bool compareWithCase = true) const bool IsSameAs(wxChar c, bool compareWithCase = true) const
{ {
return (length() == 1) && (compareWithCase ? GetChar(0u) == c return (length() == 1) && (compareWithCase ? GetChar(0u) == c