X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Flstrings.h;h=2606546fa05ce3c29cdb5c0c47341e83e1fd814c;hb=f4eae12d60af89eb9f4d6840578075a69215ab28;hp=eca670ea3d435f6b78c92f9825ee7489ea0f12a9;hpb=dea050cb93ec5b427caaf1dcfe0e0addec121881;p=features.git diff --git a/src/support/lstrings.h b/src/support/lstrings.h index eca670ea3d..2606546fa0 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); @@ -187,6 +188,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 +231,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 +246,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