used as it will ensure smoother transition to {\tt std::string} when wxWidgets
starts using it instead of wxString.
+Also please note that in this manual \texttt{char} is sometimes used instead of
+\texttt{wxChar} because it hasn't been fully updated yet. Please substitute as
+necessary and refer to the sources in case of a doubt.
+
+
\wxheading{Derived from}
None
\helpref{CmpNoCase}{wxstringcmpnocase}\\
\helpref{IsSameAs}{wxstringissameas}\\
\helpref{Matches}{wxstringmatches}\\
-\helpref{StartsWith}{wxstringstartswith}
+\helpref{StartsWith}{wxstringstartswith}\\
+\helpref{EndsWith}{wxstringendswith}
\membersection{Substring extraction}\label{substringextractioninwxstring}
\helpref{BeforeLast}{wxstringbeforelast}\\
\helpref{AfterFirst}{wxstringafterfirst}\\
\helpref{AfterLast}{wxstringafterlast}\\
-\helpref{StartsWith}{wxstringstartswith}
+\helpref{StartsWith}{wxstringstartswith}\\
+\helpref{EndsWith}{wxstringendswith}
+
\membersection{Case conversion}\label{caseconversioninwxstring}
\membersection{wxString::c\_str}\label{wxstringcstr}
-\constfunc{const char *}{c\_str}{\void}
+\constfunc{const wxChar *}{c\_str}{\void}
Returns a pointer to the string data ({\tt const char*} in ANSI build,
{\tt const wchar\_t*} in Unicode build).
\membersection{wxString::Cmp}\label{wxstringcmp}
+\constfunc{int}{Cmp}{\param{const wxString\&}{ s}}
+
\constfunc{int}{Cmp}{\param{const char*}{ psz}}
Case-sensitive comparison.
\membersection{wxString::CmpNoCase}\label{wxstringcmpnocase}
+\constfunc{int}{CmpNoCase}{\param{const wxString\&}{ s}}
+
\constfunc{int}{CmpNoCase}{\param{const char*}{ psz}}
Case-insensitive comparison.
Returns string representation suitable for passing to OS' functions for
file handling. In ANSI build, this is same as \helpref{c\_str}{wxstringcstr}.
In Unicode build, returned value can be either wide character string
-or C string in charset matching the {\tt wxConvFile} object, depending on
+or C string in charset matching the {\tt wxConvFileName} object, depending on
the OS.
\wxheading{See also}
\membersection{wxString::FormatV}\label{wxstringformatv}
-\func{static wxString}{Format}{\param{const wxChar }{*format}, \param{va\_list }{argptr}}
+\func{static wxString}{FormatV}{\param{const wxChar }{*format}, \param{va\_list }{argptr}}
This static function returns the string containing the result of calling
\helpref{PrintfV}{wxstringprintfv} with the passed parameters on it.
\membersection{wxString::GetData}\label{wxstringgetdata}
-\constfunc{const char*}{GetData}{\void}
+\constfunc{const wxChar*}{GetData}{\void}
wxWidgets compatibility conversion. Returns a constant pointer to the data in the string.
Same as \helpref{wxString::Find}{wxstringfind}.
-\constfunc{size\_t}{Index}{\param{const char*}{ sz}, \param{bool}{ caseSensitive = true}, \param{bool}{ fromEnd = false}}
-
-Search the element in the array, starting from either side.
-
-If {\it fromEnd} is true, reverse search direction.
-
-If {\bf caseSensitive}, comparison is case sensitive (the default).
-
-Returns the index of the first item matched, or {\tt wxNOT\_FOUND}.
-
% TODO
%\membersection{wxString::insert}\label{wxstringinsert}
% Wrong!
Returns true if strings are equal, false otherwise.
-See also \helpref{Cmp}{wxstringcmp}, \helpref{CmpNoCase}{wxstringcmpnocase}, \helpref{IsSameAs}{wxstringissameas2}
-
-\membersection{wxString::IsSameAs}\label{wxstringissameas2}
+See also \helpref{Cmp}{wxstringcmp}, \helpref{CmpNoCase}{wxstringcmpnocase}
\constfunc{bool}{IsSameAs}{\param{char}{ c}, \param{bool}{ caseSensitive = true}}
Returns true if the string is equal to the character, false otherwise.
-See also \helpref{Cmp}{wxstringcmp}, \helpref{CmpNoCase}{wxstringcmpnocase}, \helpref{IsSameAs}{wxstringissameas}
+See also \helpref{Cmp}{wxstringcmp}, \helpref{CmpNoCase}{wxstringcmpnocase}
\membersection{wxString::IsWord}\label{wxstringisword}
\func{wxString\&}{Remove}{\param{size\_t}{ pos}, \param{size\_t}{ len}}
-Removes the {\it len} characters from the string, starting at {\it pos}.
+Removes {\it len} characters from the string, starting at {\it pos}.
\membersection{wxString::RemoveLast}\label{wxstringremovelast}
{\tt NULL}. Otherwise, the function returns {\tt false} and doesn't modify the
{\it rest}.
+\membersection{wxString::EndsWith}\label{wxstringendswith}
+
+\constfunc{bool}{EndsWith}{\param{const wxChar }{*suffix}, \param{wxString }{*rest = NULL}}
+
+This function can be used to test if the string ends with the specified
+{\it suffix}. If it does, the function will return {\tt true} and put the
+beginning of the string before the suffix into {\it rest} string if it is not
+{\tt NULL}. Otherwise, the function returns {\tt false} and doesn't
+modify the {\it rest}.
+
\membersection{wxString::Strip}\label{wxstringstrip}
\begin{verbatim}
\constfunc{bool}{ToULong}{\param{unsigned long}{ *val}, \param{int }{base = $10$}}
-Attempts to convert the string to a unsigned integer in base {\it base}.
+Attempts to convert the string to an unsigned integer in base {\it base}.
Returns {\tt true} on success in which case the number is stored in the
location pointed to by {\it val} or {\tt false} if the string does not
-represent a valid number in the given base.
+represent a valid number in the given base. Please notice that this function
+behaves in the same way as the standard \texttt{strtoul()} and so it simply
+converts negative numbers to unsigned representation instead of rejecting them
+(e.g. $-1$ is returned as \texttt{ULONG\_MAX}).
See \helpref{wxString::ToLong}{wxstringtolong} for the more detailed
description of the {\it base} parameter.
\func{wxString\&}{Trim}{\param{bool}{ fromRight = true}}
-Removes spaces from the left or from the right (default).
+Removes white-space (space, tabs, form feed, newline and carriage return) from
+the left or from the right end of the string (right is default).
\membersection{wxString::Truncate}\label{wxstringtruncate}
\membersection{wxString::operator []}\label{wxstringoperatorbracket}
-\func{char\&}{operator []}{\param{size\_t}{ i}}
+\func{wxChar\&}{operator []}{\param{size\_t}{ i}}
-\func{char}{operator []}{\param{size\_t}{ i}}
+\constfunc{wxChar}{operator []}{\param{size\_t}{ i}}
-\func{char}{operator []}{\param{int}{ i}}
+\func{wxChar\&}{operator []}{\param{int}{ i}}
+
+\constfunc{wxChar}{operator []}{\param{int}{ i}}
Element extraction.
}
\end{verbatim}
+Note that the exact usage of this depends on whether on not wxUSE\_STL is enabled. If
+wxUSE\_STL is enabled, wxStringBuffer creates a separate empty character buffer, and
+if wxUSE\_STL is disabled, it uses GetWriteBuf() from wxString, keeping the same buffer
+wxString uses intact. In other words, relying on wxStringBuffer containing the old
+wxString data is probably not a good idea if you want to build your program in both
+with and without wxUSE\_STL.
+
\wxheading{Derived from}
None
}
\end{verbatim}
+Note that the exact usage of this depends on whether on not wxUSE\_STL is enabled. If
+wxUSE\_STL is enabled, wxStringBuffer creates a separate empty character buffer, and
+if wxUSE\_STL is disabled, it uses GetWriteBuf() from wxString, keeping the same buffer
+wxString uses intact. In other words, relying on wxStringBuffer containing the old
+wxString data is probably not a good idea if you want to build your program in both
+with and without wxUSE\_STL.
+
Note that SetLength {\tt must} be called before wxStringBufferLength destructs.
\wxheading{Derived from}
\membersection{wxStringBufferLength::wxStringBufferLength}\label{wxstringbufferlengthctor}
-\func{}{wxStringBuffer}{\param{const wxString\& }{str}, \param{size\_t }{len}}
+\func{}{wxStringBufferLength}{\param{const wxString\& }{str}, \param{size\_t }{len}}
Constructs a writable string buffer object associated with the given string
and containing enough space for at least {\it len} characters. Basically, this