]> git.lyx.org Git - lyx.git/blobdiff - src/support/lstrings.h
Fix several filename and environment variable encoding problems
[lyx.git] / src / support / lstrings.h
index b0016bf8469941be67ba757c8d267c41f2181bd1..5f9b559dc7de77d25660011590b82fe8ce139c5b 100644 (file)
@@ -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,19 +89,25 @@ 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 &);
 
+/// Does the string start with this prefix?
+bool prefixIs(docstring const &, char_type);
+
 /// Does the std::string start with this prefix?
 bool prefixIs(std::string const &, std::string const &);
-bool prefixIs(lyx::docstring const &, lyx::docstring const &);
+bool prefixIs(docstring const &, docstring const &);
 
 /// Does the string end with this char?
 bool suffixIs(std::string const &, char);
+bool suffixIs(docstring const &, char_type);
 
 /// Does the std::string end with this suffix?
 bool suffixIs(std::string const &, std::string const &);
@@ -213,12 +222,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<std::string> const getVectorFromString(std::string const & str,
                                              std::string const & delim = std::string(","));
+std::vector<docstring> const getVectorFromString(docstring const & str,
+               docstring const & delim = from_ascii(","));
 
 // the same vice versa
 std::string const getStringFromVector(std::vector<std::string> const & vec,