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.
This commit is contained in:
Vincent van Ravesteijn 2015-10-20 21:23:01 +02:00
parent 42e5353f8a
commit 990446c0e1
2 changed files with 21 additions and 6 deletions

View File

@ -28,7 +28,24 @@ using lyx::ucs4_codeset;
#if defined(_MSC_VER) && (_MSC_VER >= 1600) #if defined(_MSC_VER) && (_MSC_VER >= 1600)
std::locale::id numpunct<lyx::char_type>::id; 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 { namespace {

View File

@ -41,11 +41,9 @@ namespace std
string grouping() const string grouping() const
{ return numpunct<char>::grouping(); } { return numpunct<char>::grouping(); }
string_type truename() const // Implementation can be found in docstream.cpp
{ return lyx::from_ascii(numpunct<char>::truename()); } string_type truename() const;
string_type falsename() const;
string_type falsename() const
{ return lyx::from_ascii(numpunct<char>::falsename()); }
protected: protected: