This is an automated email from the ASF dual-hosted git repository. swebb2066 pushed a commit to branch improve_reference_documentation in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
commit 3d598cbbfa921b5ea7e075b140d5cc574c1ca648 Author: Stephen Webb <[email protected]> AuthorDate: Mon May 25 14:53:56 2026 +1000 Add documention for the string processing methods --- src/main/cpp/stringhelper.cpp | 6 +++++ src/main/include/log4cxx/helpers/stringhelper.h | 26 +++++++++++++++++----- src/main/include/log4cxx/helpers/stringtokenizer.h | 5 +++++ 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/main/cpp/stringhelper.cpp b/src/main/cpp/stringhelper.cpp index c8142c11..42ad3e32 100644 --- a/src/main/cpp/stringhelper.cpp +++ b/src/main/cpp/stringhelper.cpp @@ -144,6 +144,8 @@ void StringHelper::toString(int n, LogString& dst) { #if LOG4CXX_LOGCHAR_IS_WCHAR dst.append(std::to_wstring(n)); +#elif LOG4CXX_LOGCHAR_IS_UTF8 + dst.append(std::to_string(n)); #else Transcoder::decode(std::to_string(n), dst); #endif @@ -166,6 +168,8 @@ void StringHelper::toString(int64_t n, LogString& dst) { #if LOG4CXX_LOGCHAR_IS_WCHAR dst.append(std::to_wstring(n)); +#elif LOG4CXX_LOGCHAR_IS_UTF8 + dst.append(std::to_string(n)); #else Transcoder::decode(std::to_string(n), dst); #endif @@ -176,6 +180,8 @@ void StringHelper::toString(size_t n, LogString& dst) { #if LOG4CXX_LOGCHAR_IS_WCHAR dst.append(std::to_wstring(n)); +#elif LOG4CXX_LOGCHAR_IS_UTF8 + dst.append(std::to_string(n)); #else Transcoder::decode(std::to_string(n), dst); #endif diff --git a/src/main/include/log4cxx/helpers/stringhelper.h b/src/main/include/log4cxx/helpers/stringhelper.h index f84ede5e..d0d2d1ac 100644 --- a/src/main/include/log4cxx/helpers/stringhelper.h +++ b/src/main/include/log4cxx/helpers/stringhelper.h @@ -35,16 +35,22 @@ String manipulation routines class LOG4CXX_EXPORT StringHelper { public: + /// A copy of \c s without any leading or trailing space characters static LogString trim(const LogString& s); - static bool startsWith(const LogString& s, const LogString& suffix); + /// Does \c s begin with the characters of \c prefix? + static bool startsWith(const LogString& s, const LogString& prefix); + /// Does \c s end with the characters of \c suffix? static bool endsWith(const LogString& s, const LogString& suffix); - static bool equalsIgnoreCase(const LogString& s1, - const logchar* upper, const logchar* lower); - static bool equalsIgnoreCase(const LogString& s1, - const LogString& upper, const LogString& lower); - + /// Is each character in \c s identical to the character at the corresponding position in either \c upper or \c lower? + static bool equalsIgnoreCase(const LogString& s, const logchar* upper, const logchar* lower); + /// Is each character in \c s identical to the character at the corresponding position in either \c upper or \c lower? + static bool equalsIgnoreCase(const LogString& s, const LogString& upper, const LogString& lower); + /// The numeric value at the start of \c s. + /// See <a href=https://en.cppreference.com/cpp/string/basic_string/stol>std::stoi</a> for more details. static int toInt(const LogString& s); + /// The numeric value at the start of \c s. + /// See <a href=https://en.cppreference.com/cpp/string/basic_string/stol>std::stoll</a> for more details. static int64_t toInt64(const LogString& s); #if LOG4CXX_ABI_VERSION <= 15 @@ -58,13 +64,21 @@ class LOG4CXX_EXPORT StringHelper [[ deprecated( "Pool is no longer required" ) ]] static void toString(size_t i, Pool& pool, LogString& dst); #endif + /// Append a textual version of \c i to \c dst. static void toString(int i, LogString& dst); + /// Append a textual version of \c i to \c dst. static void toString(int64_t i, LogString& dst); + /// Append a textual version of \c i to \c dst. static void toString(size_t i, LogString& dst); + /// Using \c val, append either "true" or "false" to \c dst. static void toString(bool val, LogString& dst); + /// A copy of \c s with any character in [A-Z] + /// replaced by the corresponding character in [a-z] static LogString toLowerCase(const LogString& s); + /// A copy of \c pattern with any 3-character '{', [0-9], '}', substring + /// replaced by the corresponding value from \c params static LogString format(const LogString& pattern, const std::vector<LogString>& params); }; } diff --git a/src/main/include/log4cxx/helpers/stringtokenizer.h b/src/main/include/log4cxx/helpers/stringtokenizer.h index 23e3241a..767b5919 100644 --- a/src/main/include/log4cxx/helpers/stringtokenizer.h +++ b/src/main/include/log4cxx/helpers/stringtokenizer.h @@ -24,12 +24,17 @@ namespace LOG4CXX_NS { namespace helpers { +/// An iterator over substrings class LOG4CXX_EXPORT StringTokenizer { public: + /// The substrings of \c str between one of the characters in \c delim. StringTokenizer(const LogString& str, const LogString& delim); ~StringTokenizer(); + /// Will nextToken() return a string? bool hasMoreTokens() const; + /// Step past the current token which is returned. + /// \exception NoSuchElementException No substring is available. LogString nextToken(); private:
