]> git.lyx.org Git - lyx.git/blobdiff - src/support/lstrings.C
use more explicit on constructors use the pimpl idom to reduce size with about 500k
[lyx.git] / src / support / lstrings.C
index 09cdb6a28b145042ac1d3d9feddb9c8b52ca403f..efc8df4165953f2767c41a304fd70f3031589673 100644 (file)
@@ -2,29 +2,22 @@
 
 #include <algorithm>
 
-#ifdef __GLIBCPP__
-#include <ctype.h>
-#else
 #include <cctype>
-#endif
 #include <cstdlib>
 
-#ifdef HAVE_SSTREAM
-#include <sstream>
-#else
-#include <strstream>
-#endif
-using std::ostringstream;
-
 #include "LString.h"
 #include "lstrings.h"
 #include "LRegex.h"
 
 using std::count;
 using std::transform;
+#ifndef __GLIBCPP__
+// The new glibstdc++-v3 has not worked out all the quirks regarding cctype
+// yet. So currently it failes if the to using lines below are stated.
 using std::tolower;
 using std::toupper;
-
+#endif
+       
 int compare_no_case(string const & s, string const & s2)
 {
        // ANSI C
@@ -105,15 +98,15 @@ int  strToInt(string const & str)
 string lowercase(string const & a)
 {
        string tmp(a);
-#ifdef __GLIBCPP__
+//#ifdef __GLIBCPP__
        string::iterator result = tmp.begin();
        for (string::iterator first = tmp.begin();
             first != tmp.end(); ++first, ++result) {
                *result = tolower(*first);
        }
-#else
-       transform(tmp.begin(), tmp.end(), tmp.begin(), tolower);
-#endif
+//#else
+//     transform(tmp.begin(), tmp.end(), tmp.begin(), tolower);
+//#endif
        return tmp;
 }
 
@@ -121,97 +114,19 @@ string lowercase(string const & a)
 string uppercase(string const & a)
 {
        string tmp(a);
-#ifdef __GLIBCPP__
+//#ifdef __GLIBCPP__
        string::iterator result = tmp.begin();
        for (string::iterator first = tmp.begin();
             first != tmp.end(); ++first, ++result) {
                *result = toupper(*first);
        }
-#else
-       transform(tmp.begin(), tmp.end(), tmp.begin(), toupper);
-#endif
+//#else
+//     transform(tmp.begin(), tmp.end(), tmp.begin(), toupper);
+//#endif
        return tmp;
 }
 
 
-string tostr(long i)
-{
-#ifndef HAVE_SSTREAM
-       // "Hey!", you say. "Why do we need the char str[30]?".
-       // Since strstream does not handle memory for us we have to do
-       // that ourselves, if we don't pass str in we have to capture
-       // oss.str() in a tmp variable and delete that manually.
-       // Thus we then require more temporary variables and the code
-       // gets more obfuscated.
-       char str[30];
-       ostrstream oss(str, 30);
-       oss << i << '\0';
-#else
-       ostringstream oss;
-       oss << i;
-#endif
-       return oss.str();
-}
-
-
-string tostr(unsigned long i)
-{
-#ifndef HAVE_SSTREAM   
-       char str[30];
-       ostrstream oss(str, 30);
-       oss << i << '\0';
-#else
-       ostringstream oss;
-       oss << i;
-#endif
-       return oss.str();
-}
-
-
-string tostr(void * v)
-{
-       return tostr(long(v));
-}
-
-
-string tostr(int i)
-{
-       return tostr(long(i));
-}
-
-
-string tostr(unsigned int ui)
-{
-       return tostr(long(ui));
-}
-
-
-string tostr(char c)
-{
-       return string(1, c);
-}
-
-
-string tostr(bool b)
-{
-       return b ? "true" : "false";
-}
-
-
-string tostr(double d)
-{
-#ifndef HAVE_SSTREAM
-       char tmp[40];
-       ostrstream oss(tmp, 40);
-       oss << d << '\0';
-#else
-       ostringstream oss;
-       oss << d;
-#endif
-       return oss.str();
-}
-
-
 bool prefixIs(string const & a, char const * pre)
 {
        unsigned int l = strlen(pre);