]> git.lyx.org Git - lyx.git/blobdiff - src/support/convert.cpp
Merge branch 'master' of git.lyx.org:lyx
[lyx.git] / src / support / convert.cpp
index b7ce3fc90bd33ee2d17ce1a707fbbf105c3cd880..58a56479a3abe377761d8a1afae8da3ace6ff322 100644 (file)
@@ -3,8 +3,8 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author André Pönitz
- * \author Lars Gullik Bjønnes
+ * \author André Pönitz
+ * \author Lars Gullik Bjønnes
  *
  * Full author contact details are available in file CREDITS.
  */
 #include <boost/lexical_cast.hpp>
 
 #include <string>
+#include <sstream>
+//needed for Mac OSX 10.5.2 Leopard
+#include <cstdlib>
 
+using namespace std;
 
 namespace lyx {
 
 using boost::lexical_cast;
 
-using std::string;
-
-
 template<>
 string convert<string>(bool b)
 {
@@ -89,6 +90,22 @@ docstring convert<docstring>(unsigned long ul)
 }
 
 
+#ifdef LYX_USE_LONG_LONG
+template<>
+string convert<string>(unsigned long long ull)
+{
+       return lexical_cast<string>(ull);
+}
+
+
+template<>
+docstring convert<docstring>(unsigned long long ull)
+{
+       return from_ascii(lexical_cast<string>(ull));
+}
+#endif
+
+
 template<>
 string convert<string>(long l)
 {
@@ -103,17 +120,37 @@ docstring convert<docstring>(long l)
 }
 
 
+#ifdef LYX_USE_LONG_LONG
+template<>
+string convert<string>(long long ll)
+{
+       return lexical_cast<string>(ll);
+}
+
+
+template<>
+docstring convert<docstring>(long long ll)
+{
+       return from_ascii(lexical_cast<string>(ll));
+}
+#endif
+
+
 template<>
 string convert<string>(float f)
 {
-       return lexical_cast<string>(f);
+       std::ostringstream val;
+       val << f;
+       return val.str();
 }
 
 
 template<>
 string convert<string>(double d)
 {
-       return lexical_cast<string>(d);
+       std::ostringstream val;
+       val << d;
+       return val.str();
 }