]> git.lyx.org Git - lyx.git/blobdiff - src/support/convert.C
* support/os_unix.C (canAutoOpen, autoOpenFile): on Mac OS X, use
[lyx.git] / src / support / convert.C
index 262f937addd8e60bb947e0ea2c9929959dd79ef0..894d7647293cdb05d9514665bc6d4084439aa66c 100644 (file)
 
 #include "convert.h"
 
+#include "support/docstring.h"
+
 #include <boost/lexical_cast.hpp>
 
 #include <string>
 
+
+namespace lyx {
+
+using lyx::docstring;
+
 using boost::lexical_cast;
 
 using std::string;
@@ -50,6 +57,13 @@ string convert<string>(int i)
 }
 
 
+template<>
+docstring convert<docstring>(int i)
+{
+       return lyx::from_ascii(lexical_cast<string>(i));
+}
+
+
 template<>
 string convert<string>(unsigned int ui)
 {
@@ -57,6 +71,13 @@ string convert<string>(unsigned int ui)
 }
 
 
+template<>
+docstring convert<docstring>(unsigned int ui)
+{
+       return lyx::from_ascii(lexical_cast<string>(ui));
+}
+
+
 template<>
 string convert<string>(unsigned long ul)
 {
@@ -64,6 +85,13 @@ string convert<string>(unsigned long ul)
 }
 
 
+template<>
+docstring convert<docstring>(unsigned long ul)
+{
+       return lyx::from_ascii(lexical_cast<string>(ul));
+}
+
+
 template<>
 string convert<string>(long l)
 {
@@ -71,6 +99,13 @@ string convert<string>(long l)
 }
 
 
+template<>
+docstring convert<docstring>(long l)
+{
+       return lyx::from_ascii(lexical_cast<string>(l));
+}
+
+
 template<>
 string convert<string>(float f)
 {
@@ -92,6 +127,13 @@ int convert<int>(string const s)
 }
 
 
+template<>
+int convert<int>(docstring const s)
+{
+       return strtol(lyx::to_ascii(s).c_str(), 0, 10);
+}
+
+
 template<>
 unsigned int convert<unsigned int>(string const s)
 {
@@ -118,3 +160,6 @@ double convert<double>(char const * cptr)
 {
        return strtod(cptr, 0);
 }
+
+
+} // namespace lyx