commit 990446c0e1d784ef9e067f109d4eaef08a9237b4 Author: Vincent van Ravesteijn <v...@lyx.org> Date: Tue Oct 20 21:23:01 2015 +0200
msvc: Move implementation of numpunct<> functions to cpp file These functions use lyx::from_ascii which means they need to include docstring.h, but that results in a circular include. diff --git a/src/support/docstream.cpp b/src/support/docstream.cpp index f6548e1..b07ac56 100644 --- a/src/support/docstream.cpp +++ b/src/support/docstream.cpp @@ -28,7 +28,24 @@ using lyx::ucs4_codeset; #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 { diff --git a/src/support/numpunct_lyx_char_type.h b/src/support/numpunct_lyx_char_type.h index 6ef22e6..b3f6cde 100644 --- a/src/support/numpunct_lyx_char_type.h +++ b/src/support/numpunct_lyx_char_type.h @@ -41,11 +41,9 @@ namespace std 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: