diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-03-22 21:31:00 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-03-22 21:31:00 +0100 |
commit | f5c93d4149e7ae967e98dbce72528a04a204ca95 (patch) | |
tree | 46f4e6e44c812018bbf0af434c7f8a974dfdda85 /include | |
parent | e6297cf05d943f8dee51dd995e9b8ff039cc9cd1 (diff) |
Use rtl::isAscii* instead of ctype.h is* (and fix passing plain char)
and add rtl::isAsciiWhiteSpace
Change-Id: Iac71975f718b9360ea9dc94485c069c5e7cb91c7
Diffstat (limited to 'include')
-rw-r--r-- | include/rtl/character.hxx | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/rtl/character.hxx b/include/rtl/character.hxx index 4ccc632afb4a..b83121a4a6d4 100644 --- a/include/rtl/character.hxx +++ b/include/rtl/character.hxx @@ -239,6 +239,29 @@ template<typename T> inline bool isAsciiOctalDigit(T code) { return isAsciiOctalDigit(sal_uInt32(code)); } #endif +/** Check for ASCII white space character. + + @param code A Unicode code point. + + @return True if code is an ASCII white space character as defined by C for + isspace in the "C" locale (ASCII ' ', '\f', '\n', '\r', '\t' '\v'). + + @since LibreOffice 5.4 +*/ +inline bool isAsciiWhiteSpace(sal_uInt32 code) +{ + assert(isUnicodeCodePoint(code)); + return code == ' ' || code == '\f' || code == '\n' || code == '\r' + || code == '\t' || code == '\v'; +} + +#if defined LIBO_INTERNAL_ONLY +bool isAsciiWhiteSpace(char) = delete; +bool isAsciiWhiteSpace(signed char) = delete; +template<typename T> inline bool isAsciiWhiteSpace(T code) +{ return isAsciiWhiteSpace(sal_uInt32(code)); } +#endif + /** Convert a character, if ASCII, to upper case. @param code A Unicode code point. |