wxString::IsSameAs(char) added and documented as well as operator==(char)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -642,7 +642,18 @@ caseSensitive is TRUE by default (case matters).
|
|||||||
|
|
||||||
Returns TRUE if strings are equal, FALSE otherwise.
|
Returns TRUE if strings are equal, FALSE otherwise.
|
||||||
|
|
||||||
See also \helpref{Cmp}{wxstringcmp}, \helpref{CmpNoCase}{wxstringcmpnocase}.
|
See also \helpref{Cmp}{wxstringcmp}, \helpref{CmpNoCase}{wxstringcmpnocase}, \helpref{IsSameAs}{wxstringissameas2}
|
||||||
|
|
||||||
|
\membersection{wxString::IsSameAs}\label{wxstringissameas2}
|
||||||
|
|
||||||
|
\constfunc{bool}{IsSameAs}{\param{char}{ c}, \param{bool}{ caseSensitive = TRUE}}
|
||||||
|
|
||||||
|
Test whether the string is equal to the single character {\it c}. The test is
|
||||||
|
case-sensitive if {\it caseSensitive} is TRUE (default) or not if it is FALSE.
|
||||||
|
|
||||||
|
Returns TRUE if the string is equal to the character, FALSE otherwise.
|
||||||
|
|
||||||
|
See also \helpref{Cmp}{wxstringcmp}, \helpref{CmpNoCase}{wxstringcmpnocase}, \helpref{IsSameAs}{wxstringissameas}
|
||||||
|
|
||||||
\membersection{wxString::IsWord}\label{wxstringisword}
|
\membersection{wxString::IsWord}\label{wxstringisword}
|
||||||
|
|
||||||
|
@@ -572,13 +572,19 @@ public:
|
|||||||
|
|
||||||
// string comparison
|
// string comparison
|
||||||
// case-sensitive comparison (returns a value < 0, = 0 or > 0)
|
// case-sensitive comparison (returns a value < 0, = 0 or > 0)
|
||||||
int Cmp(const wxChar *psz) const { return wxStrcmp(c_str(), psz); }
|
int Cmp(const wxChar *psz) const { return wxStrcmp(c_str(), psz); }
|
||||||
// same as Cmp() but not case-sensitive
|
// same as Cmp() but not case-sensitive
|
||||||
int CmpNoCase(const wxChar *psz) const { return wxStricmp(c_str(), psz); }
|
int CmpNoCase(const wxChar *psz) const { return wxStricmp(c_str(), psz); }
|
||||||
// test for the string equality, either considering case or not
|
// test for the string equality, either considering case or not
|
||||||
// (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
|
||||||
|
bool IsSameAs(wxChar c, bool compareWithCase = TRUE) const
|
||||||
|
{
|
||||||
|
return (Len() == 1) && (compareWithCase ? GetChar(0u) == c
|
||||||
|
: wxToupper(GetChar(0u)) == wxToupper(c));
|
||||||
|
}
|
||||||
|
|
||||||
// simple sub-string extraction
|
// simple sub-string extraction
|
||||||
// return substring starting at nFirst of length nCount (or till the end
|
// return substring starting at nFirst of length nCount (or till the end
|
||||||
@@ -993,6 +999,7 @@ private:
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
// wxString comparison functions: operator versions are always case sensitive
|
// wxString comparison functions: operator versions are always case sensitive
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
//
|
//
|
||||||
inline bool operator==(const wxString& s1, const wxString& s2) { return (s1.Cmp(s2) == 0); }
|
inline bool operator==(const wxString& s1, const wxString& s2) { return (s1.Cmp(s2) == 0); }
|
||||||
//
|
//
|
||||||
@@ -1030,16 +1037,22 @@ inline bool operator>=(const wxString& s1, const wxChar * s2) { return (s1.Cmp(
|
|||||||
//
|
//
|
||||||
inline bool operator>=(const wxChar * s1, const wxString& s2) { return (s2.Cmp(s1) <= 0); }
|
inline bool operator>=(const wxChar * s1, const wxString& s2) { return (s2.Cmp(s1) <= 0); }
|
||||||
|
|
||||||
|
// comparison with char
|
||||||
|
inline bool operator==(wxChar c, const wxString& s) { return s.IsSameAs(c); }
|
||||||
|
inline bool operator==(const wxString& s, wxChar c) { return s.IsSameAs(c); }
|
||||||
|
inline bool operator!=(wxChar c, const wxString& s) { return !s.IsSameAs(c); }
|
||||||
|
inline bool operator!=(const wxString& s, wxChar c) { return !s.IsSameAs(c); }
|
||||||
|
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
inline bool operator==(const wxString& s1, const wxWCharBuffer& s2)
|
inline bool operator==(const wxString& s1, const wxWCharBuffer& s2)
|
||||||
{ return (s1.Cmp((const wchar_t *)s2) == 0); }
|
{ return (s1.Cmp((const wchar_t *)s2) == 0); }
|
||||||
inline bool operator==(const wxWCharBuffer& s1, const wxString& s2)
|
inline bool operator==(const wxWCharBuffer& s1, const wxString& s2)
|
||||||
{ return (s2.Cmp((const wchar_t *)s1) == 0); }
|
{ return (s2.Cmp((const wchar_t *)s1) == 0); }
|
||||||
#else
|
#else
|
||||||
inline bool operator==(const wxString& s1, const wxCharBuffer& s2)
|
inline bool operator==(const wxString& s1, const wxCharBuffer& s2)
|
||||||
{ return (s1.Cmp((const char *)s2) == 0); }
|
{ return (s1.Cmp((const char *)s2) == 0); }
|
||||||
inline bool operator==(const wxCharBuffer& s1, const wxString& s2)
|
inline bool operator==(const wxCharBuffer& s1, const wxString& s2)
|
||||||
{ return (s2.Cmp((const char *)s1) == 0); }
|
{ return (s2.Cmp((const char *)s1) == 0); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wxString WXDLLEXPORT operator+(const wxString& string1, const wxString& string2);
|
wxString WXDLLEXPORT operator+(const wxString& string1, const wxString& string2);
|
||||||
|
Reference in New Issue
Block a user