-}
-
-/// Compare a docstring with a C string of ASCII characters
-bool operator==(lyx::docstring const &, char const *);
-
-/// Compare a C string of ASCII characters with a docstring
-inline bool operator==(char const * l, lyx::docstring const & r) { return r == l; }
-
-/// Compare a docstring with a C string of ASCII characters
-inline bool operator!=(lyx::docstring const & l, char const * r) { return !(l == r); }
-
-/// Compare a C string of ASCII characters with a docstring
-inline bool operator!=(char const * l, lyx::docstring const & r) { return !(r == l); }
-
-#if defined(__GNUC__) && defined(__GNUC_MINOR__) && __GNUC__ == 3 && __GNUC_MINOR__ < 4
-// Missing char_traits methods in gcc 3.3 and older. Taken from gcc 4.2svn.
-namespace std {
-
-template<typename T> void
-char_traits<T>::assign(char_type & c1, char_type const & c2)
-{
- c1 = c2;
-}
-
-
-template<typename T> bool
-char_traits<T>::eq(char_type const & c1, char_type const & c2)
-{
- return c1 == c2;
-}
+/// convert \p s from the encoding of the locale to ucs4.
+docstring const from_local8bit(std::string const & s);