X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Flstrings.h;h=576a5b921df363639c09e6cbc13d21b4123a1445;hb=ee9ff6cb0cd7d8b0ef3c18e5bd166e12580a3bf4;hp=eca670ea3d435f6b78c92f9825ee7489ea0f12a9;hpb=dea050cb93ec5b427caaf1dcfe0e0addec121881;p=lyx.git diff --git a/src/support/lstrings.h b/src/support/lstrings.h index eca670ea3d..576a5b921d 100644 --- a/src/support/lstrings.h +++ b/src/support/lstrings.h @@ -18,7 +18,6 @@ #include "support/docstring.h" -#include #include @@ -45,7 +44,9 @@ bool isStrUnsignedInt(std::string const & str); bool isStrDbl(std::string const & str); /// does the string contain a digit? -bool hasDigit(docstring const & str); +bool hasDigitASCII(docstring const & str); + +bool isHexChar(char_type); bool isHex(docstring const & str); @@ -96,6 +97,8 @@ docstring const ascii_lowercase(docstring const &); /// Changes the case of \p s to lowercase. /// Does not depend on the locale. docstring const lowercase(docstring const & s); +// Currently unused, but the code is there if needed. +// std::string const lowercase(std::string const & s); /// Changes the case of \p s to uppercase. /// Does not depend on the locale. @@ -187,6 +190,9 @@ std::string const subst(std::string const & a, docstring const subst(docstring const & a, docstring const & oldstr, docstring const & newstr); +/// Count all occurences of char \a chr inside \a str +int count_char(std::string const & str, char chr); + /// Count all occurences of char \a chr inside \a str int count_char(docstring const & str, docstring::value_type chr); @@ -227,6 +233,7 @@ docstring const ltrim(docstring const & a, char const * p = " "); will be the whole of the string if no delimiter is found. The return value is what follows delim, if anything. So the return value is the null string if no delimiter is found. + 'a' and 'piece' must be different variables. Examples: \code s1= "a;bc"; s2= "" @@ -241,6 +248,7 @@ std::string const split(std::string const & a, char delim); /// Same as split but uses the last delim. std::string const rsplit(std::string const & a, std::string & piece, char delim); +docstring const rsplit(docstring const & a, docstring & piece, char_type delim); docstring const rsplit(docstring const & a, char_type delim); /// Escapes non ASCII chars and other problematic characters that cause