msvc10 work around: use complete std:numpunct<char> implementation otherwise it crashes

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34488 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Peter Kümmel 2010-05-24 15:17:08 +00:00
parent 555df7e2a1
commit 52c51e5485

View File

@ -20,42 +20,37 @@ namespace std
{ {
template<> template<>
class numpunct<lyx::char_type> : public locale::facet class numpunct<lyx::char_type> : public numpunct<char>
{ {
public: public:
typedef lyx::char_type char_type; typedef lyx::char_type char_type;
typedef basic_string<lyx::char_type> string_type; typedef basic_string<lyx::char_type> string_type;
static locale::id id; static locale::id id;
explicit numpunct(size_t __refs = 0) : chared(__refs) explicit numpunct(size_t __refs = 0) : numpunct<char>(__refs)
{} {}
char_type decimal_point() const char_type decimal_point() const
{ return chared.decimal_point(); } { return numpunct<char>::decimal_point(); }
char_type thousands_sep() const char_type thousands_sep() const
{ return chared.thousands_sep(); } { return numpunct<char>::thousands_sep(); }
string grouping() const string grouping() const
{ return chared.grouping(); } { return numpunct<char>::grouping(); }
string_type truename() const string_type truename() const
{ return lyx::from_ascii(chared.truename()); } { return lyx::from_ascii(numpunct<char>::truename()); }
string_type falsename() const string_type falsename() const
{ return lyx::from_ascii(chared.falsename()); } { return lyx::from_ascii(numpunct<char>::falsename()); }
protected: protected:
virtual ~numpunct(); virtual ~numpunct();
private:
numpunct<char> chared;
}; };