namespace lyx {
namespace support {
-/// Compare \p s and \p s2, ignoring the case.
-/// Caution: Depends on the locale
-int compare_no_case(std::string const & s, std::string const & s2);
-
/// Compare \p s and \p s2, ignoring the case.
/// Does not depend on the locale.
int compare_no_case(docstring const & s, docstring const & s2);
/// Compare \p s and \p s2, ignoring the case of ASCII characters only.
int compare_ascii_no_case(docstring const & s, docstring const & s2);
-/// Compare the first \p len characters of \p s and \p s2, ignoring the case.
-/// Caution: Depends on the locale
-int compare_no_case(std::string const & s, std::string const & s2, unsigned int len);
-
///
inline
int compare(char const * a, char const * b)
/// is \p str pure ascii?
bool isAscii(docstring const & str);
-/// Changes the case of \p c to lowercase.
-/// Caution: Depends on the locale
+/// is \p str pure ascii?
+bool isAscii(std::string const & str);
+
+/**
+ * Changes the case of \p c to lowercase.
+ * Don't use this for non-ASCII characters, since it depends on the locale.
+ * This overloaded function is only implemented because the char_type variant
+ * would be used otherwise, and we assert in this function that \p c is in
+ * the ASCII range.
+ */
char lowercase(char c);
-/// Changes the case of \p c to uppercase.
-/// Caution: Depends on the locale
+/**
+ * Changes the case of \p c to uppercase.
+ * Don't use this for non-ASCII characters, since it depends on the locale.
+ * This overloaded function is only implemented because the char_type variant
+ * would be used otherwise, and we assert in this function that \p c is in
+ * the ASCII range.
+ */
char uppercase(char c);
/// Changes the case of \p c to lowercase.
std::string const ascii_lowercase(std::string const &);
docstring const ascii_lowercase(docstring const &);
-/// Changes the case of \p s to lowercase.
-/// Caution: Depends on the locale
-std::string const lowercase(std::string const & s);
-
/// Changes the case of \p s to lowercase.
/// Does not depend on the locale.
docstring const lowercase(docstring const & s);
/// Changes the case of \p s to uppercase.
-/// Caution: Depends on the locale
-std::string const uppercase(std::string const & s);
+/// Does not depend on the locale.
+docstring const uppercase(docstring const & s);
/// Does the string start with this prefix?
bool prefixIs(docstring const &, char_type);