X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Flstrings.h;h=87e7f242fd7691785e12966ba4f5ad98f444537b;hb=e4c3ce462791c85922d919f8859e3408f57d10fa;hp=b0016bf8469941be67ba757c8d267c41f2181bd1;hpb=3674a8c003a5d4f6e890b47062b164395e17e0f8;p=lyx.git diff --git a/src/support/lstrings.h b/src/support/lstrings.h index b0016bf846..87e7f242fd 100644 --- a/src/support/lstrings.h +++ b/src/support/lstrings.h @@ -72,6 +72,9 @@ bool isHex(lyx::docstring const & str); int hexToInt(lyx::docstring const & str); +/// is \p str pure ascii? +bool isAscii(docstring const & str); + /// char lowercase(char c); @@ -86,9 +89,11 @@ char_type uppercase(char_type c); /// same as lowercase(), but ignores locale std::string const ascii_lowercase(std::string const &); +docstring const ascii_lowercase(docstring const &); /// std::string const lowercase(std::string const &); +docstring const lowercase(docstring const &); /// std::string const uppercase(std::string const &); @@ -213,12 +218,15 @@ 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); -/// Escapes non ASCII chars +/// Escapes non ASCII chars and other problematic characters that cause +/// problems in latex labels. docstring const escape(docstring const & lab); /// gives a vector of stringparts which have the delimiter delim std::vector const getVectorFromString(std::string const & str, std::string const & delim = std::string(",")); +std::vector const getVectorFromString(docstring const & str, + docstring const & delim = from_ascii(",")); // the same vice versa std::string const getStringFromVector(std::vector const & vec,