These functions use lyx::from_ascii which means they need to include
docstring.h, but that results in a circular include.
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
std::locale::id numpunct<lyx::char_type>::id;
-#endif
+
+namespace std {
+// Implementation of numpunct<lyx::char_type> defined in numpunct_lyx_char_type.h
+typedef basic_string<lyx::char_type> string_type;
+
+string_type numpunct<lyx::char_type>::truename() const
+{
+ return lyx::from_ascii(numpunct<char>::truename());
+}
+
+string_type numpunct<lyx::char_type>::falsename() const
+{
+ return lyx::from_ascii(numpunct<char>::falsename());
+}
+
+} // namespace std
+
+#endif // _MSC_VER >= 1600
namespace {
string grouping() const
{ return numpunct<char>::grouping(); }
- string_type truename() const
- { return lyx::from_ascii(numpunct<char>::truename()); }
-
- string_type falsename() const
- { return lyx::from_ascii(numpunct<char>::falsename()); }
+ // Implementation can be found in docstream.cpp
+ string_type truename() const;
+ string_type falsename() const;
protected: