]> git.lyx.org Git - lyx.git/blobdiff - src/support/lstrings.cpp
there is no trunk/src/intl folder
[lyx.git] / src / support / lstrings.cpp
index 1952300ecd305f17713893761bb51ce291e591f8..ad1b961f77cb28b95b88bd65e2284a98fec19e0d 100644 (file)
 #include "support/lstrings.h"
 
 #include "support/convert.h"
-#include "support/debug.h"
-#include "support/lyxlib.h"
 #include "support/qstring_helpers.h"
 #include "support/textutils.h"
 
 #include <boost/tokenizer.hpp>
-#include <boost/assert.hpp>
-
-#include <cctype>
-#include <cstdlib>
+#include "support/assert.h"
 
 #include <algorithm>
-#include <sstream>
-
-
-using std::transform;
-using std::string;
-using std::vector;
-
-#ifndef CXX_GLOBAL_CSTD
-using std::isdigit;
-using std::tolower;
-using std::toupper;
-#endif
 
+using namespace std;
 
 namespace lyx {
 
@@ -50,11 +34,11 @@ docstring const & empty_docstring()
        return s;
 }
 
-// Using this allows us to have std::string default arguments in headers
+// Using this allows us to have string default arguments in headers
 // without #include <string>
-std::string const & empty_string()
+string const & empty_string()
 {
-       static std::string s;
+       static string s;
        return s;
 }
 
@@ -67,7 +51,7 @@ std::string const & empty_string()
  */
 static inline char_type qchar_to_ucs4(QChar const & qchar)
 {
-       BOOST_ASSERT(is_utf16(static_cast<char_type>(qchar.unicode())));
+       LASSERT(is_utf16(static_cast<char_type>(qchar.unicode())), /**/);
        return static_cast<char_type>(qchar.unicode());
 }
 
@@ -81,7 +65,7 @@ static inline char_type qchar_to_ucs4(QChar const & qchar)
  */
 static inline QChar const ucs4_to_qchar(char_type const ucs4)
 {
-       BOOST_ASSERT(is_utf16(ucs4));
+       LASSERT(is_utf16(ucs4), /**/);
        return QChar(static_cast<unsigned short>(ucs4));
 }
 
@@ -388,14 +372,14 @@ bool isAscii(string const & str)
 
 char lowercase(char c)
 {
-       BOOST_ASSERT(static_cast<unsigned char>(c) < 0x80);
+       LASSERT(static_cast<unsigned char>(c) < 0x80, /**/);
        return char(tolower(c));
 }
 
 
 char uppercase(char c)
 {
-       BOOST_ASSERT(static_cast<unsigned char>(c) < 0x80);
+       LASSERT(static_cast<unsigned char>(c) < 0x80, /**/);
        return char(toupper(c));
 }
 
@@ -420,8 +404,8 @@ char_type uppercase(char_type c)
 
 namespace {
 
-// since we cannot use std::tolower and std::toupper directly in the
-// calls to std::transform yet, we use these helper clases. (Lgb)
+// since we cannot use tolower and toupper directly in the
+// calls to transform yet, we use these helper clases. (Lgb)
 
 struct local_lowercase {
        char_type operator()(char_type c) const {
@@ -493,14 +477,7 @@ bool prefixIs(string const & a, string const & pre)
 {
        size_t const prelen = pre.length();
        size_t const alen = a.length();
-
-       if (prelen > alen || a.empty())
-               return false;
-#if defined(STD_STRING_IS_GOOD)
-       return a.compare(0, prelen, pre) == 0;
-#else
-       return ::strncmp(a.c_str(), pre.c_str(), prelen) == 0;
-#endif
+       return prelen <= alen && !a.empty() && a.compare(0, prelen, pre) == 0;
 }
 
 
@@ -508,11 +485,7 @@ bool prefixIs(docstring const & a, docstring const & pre)
 {
        size_t const prelen = pre.length();
        size_t const alen = a.length();
-
-       if (prelen > alen || a.empty())
-               return false;
-       else
-               return a.compare(0, prelen, pre) == 0;
+       return prelen <= alen && !a.empty() && a.compare(0, prelen, pre) == 0;
 }
 
 
@@ -535,16 +508,7 @@ bool suffixIs(string const & a, string const & suf)
 {
        size_t const suflen = suf.length();
        size_t const alen = a.length();
-
-       if (suflen > alen)
-               return false;
-
-#if !defined(USE_INCLUDED_STRING) && !defined(STD_STRING_IS_GOOD)
-       string tmp(a, alen - suflen);
-       return ::strncmp(tmp.c_str(), suf.c_str(), suflen) == 0;
-#else
-       return a.compare(alen - suflen, suflen, suf) == 0;
-#endif
+       return suflen <= alen && a.compare(alen - suflen, suflen, suf) == 0;
 }
 
 
@@ -632,10 +596,10 @@ namespace {
 
 /// Substitute all \a oldchar with \a newchar
 template<typename Ch> inline
-std::basic_string<Ch> const subst_char(std::basic_string<Ch> const & a,
+basic_string<Ch> const subst_char(basic_string<Ch> const & a,
                Ch oldchar, Ch newchar)
 {
-       typedef std::basic_string<Ch> String;
+       typedef basic_string<Ch> String;
        String tmp(a);
        typename String::iterator lit = tmp.begin();
        typename String::iterator end = tmp.end();
@@ -664,7 +628,7 @@ template<typename String> inline
 String const subst_string(String const & a,
                String const & oldstr, String const & newstr)
 {
-       BOOST_ASSERT(!oldstr.empty());
+       LASSERT(!oldstr.empty(), /**/);
        String lstr = a;
        size_t i = 0;
        size_t const olen = oldstr.length();
@@ -679,7 +643,7 @@ String const subst_string(String const & a,
 docstring const subst_string(docstring const & a,
                docstring const & oldstr, docstring const & newstr)
 {
-       BOOST_ASSERT(!oldstr.empty());
+       LASSERT(!oldstr.empty(), /**/);
        docstring lstr = a;
        size_t i = 0;
        size_t const olen = oldstr.length();
@@ -723,7 +687,7 @@ docstring const subst(docstring const & a,
 
 docstring const trim(docstring const & a, char const * p)
 {
-       BOOST_ASSERT(p);
+       LASSERT(p, /**/);
 
        if (a.empty() || !*p)
                return a;
@@ -742,7 +706,7 @@ docstring const trim(docstring const & a, char const * p)
 
 string const trim(string const & a, char const * p)
 {
-       BOOST_ASSERT(p);
+       LASSERT(p, /**/);
 
        if (a.empty() || !*p)
                return a;
@@ -760,7 +724,7 @@ string const trim(string const & a, char const * p)
 
 string const rtrim(string const & a, char const * p)
 {
-       BOOST_ASSERT(p);
+       LASSERT(p, /**/);
 
        if (a.empty() || !*p)
                return a;
@@ -777,7 +741,7 @@ string const rtrim(string const & a, char const * p)
 
 docstring const rtrim(docstring const & a, char const * p)
 {
-       BOOST_ASSERT(p);
+       LASSERT(p, /**/);
 
        if (a.empty() || !*p)
                return a;
@@ -794,7 +758,7 @@ docstring const rtrim(docstring const & a, char const * p)
 
 string const ltrim(string const & a, char const * p)
 {
-       BOOST_ASSERT(p);
+       LASSERT(p, /**/);
        if (a.empty() || !*p)
                return a;
        size_t l = a.find_first_not_of(p);
@@ -806,7 +770,7 @@ string const ltrim(string const & a, char const * p)
 
 docstring const ltrim(docstring const & a, char const * p)
 {
-       BOOST_ASSERT(p);
+       LASSERT(p, /**/);
        if (a.empty() || !*p)
                return a;
        size_t l = a.find_first_not_of(from_ascii(p));
@@ -908,7 +872,7 @@ docstring const escape(docstring const & lab)
                        // encode bigger values. Test for 2^24 because we
                        // can encode that with the 6 hex digits that are
                        // needed for 21 bits anyway.
-                       BOOST_ASSERT(c < (1 << 24));
+                       LASSERT(c < (1 << 24), /**/);
                        enc += '=';
                        enc += hexdigit[(c>>20) & 15];
                        enc += hexdigit[(c>>16) & 15];
@@ -1031,7 +995,7 @@ docstring const internalLineEnding(docstring const & str)
 template<>
 docstring bformat(docstring const & fmt, int arg1)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$d")));
+       LASSERT(contains(fmt, from_ascii("%1$d")), /**/);
        docstring const str = subst(fmt, from_ascii("%1$d"), convert<docstring>(arg1));
        return subst(str, from_ascii("%%"), from_ascii("%"));
 }
@@ -1040,7 +1004,7 @@ docstring bformat(docstring const & fmt, int arg1)
 template<>
 docstring bformat(docstring const & fmt, long arg1)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$d")));
+       LASSERT(contains(fmt, from_ascii("%1$d")), /**/);
        docstring const str = subst(fmt, from_ascii("%1$d"), convert<docstring>(arg1));
        return subst(str, from_ascii("%%"), from_ascii("%"));
 }
@@ -1049,7 +1013,7 @@ docstring bformat(docstring const & fmt, long arg1)
 template<>
 docstring bformat(docstring const & fmt, unsigned int arg1)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$d")));
+       LASSERT(contains(fmt, from_ascii("%1$d")), /**/);
        docstring const str = subst(fmt, from_ascii("%1$d"), convert<docstring>(arg1));
        return subst(str, from_ascii("%%"), from_ascii("%"));
 }
@@ -1058,7 +1022,7 @@ docstring bformat(docstring const & fmt, unsigned int arg1)
 template<>
 docstring bformat(docstring const & fmt, docstring arg1)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$s")));
+       LASSERT(contains(fmt, from_ascii("%1$s")), /**/);
        docstring const str = subst(fmt, from_ascii("%1$s"), arg1);
        return subst(str, from_ascii("%%"), from_ascii("%"));
 }
@@ -1067,7 +1031,7 @@ docstring bformat(docstring const & fmt, docstring arg1)
 template<>
 docstring bformat(docstring const & fmt, char * arg1)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$s")));
+       LASSERT(contains(fmt, from_ascii("%1$s")), /**/);
        docstring const str = subst(fmt, from_ascii("%1$s"), from_ascii(arg1));
        return subst(str, from_ascii("%%"), from_ascii("%"));
 }
@@ -1076,8 +1040,8 @@ docstring bformat(docstring const & fmt, char * arg1)
 template<>
 docstring bformat(docstring const & fmt, docstring arg1, docstring arg2)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$s")));
-       BOOST_ASSERT(contains(fmt, from_ascii("%2$s")));
+       LASSERT(contains(fmt, from_ascii("%1$s")), /**/);
+       LASSERT(contains(fmt, from_ascii("%2$s")), /**/);
        docstring str = subst(fmt, from_ascii("%1$s"), arg1);
        str = subst(str, from_ascii("%2$s"), arg2);
        return subst(str, from_ascii("%%"), from_ascii("%"));
@@ -1087,8 +1051,8 @@ docstring bformat(docstring const & fmt, docstring arg1, docstring arg2)
 template<>
 docstring bformat(docstring const & fmt, char const * arg1, docstring arg2)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$s")));
-       BOOST_ASSERT(contains(fmt, from_ascii("%2$s")));
+       LASSERT(contains(fmt, from_ascii("%1$s")), /**/);
+       LASSERT(contains(fmt, from_ascii("%2$s")), /**/);
        docstring str = subst(fmt, from_ascii("%1$s"), from_ascii(arg1));
        str = subst(fmt, from_ascii("%2$s"), arg2);
        return subst(str, from_ascii("%%"), from_ascii("%"));
@@ -1098,8 +1062,8 @@ docstring bformat(docstring const & fmt, char const * arg1, docstring arg2)
 template<>
 docstring bformat(docstring const & fmt, int arg1, int arg2)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$d")));
-       BOOST_ASSERT(contains(fmt, from_ascii("%2$d")));
+       LASSERT(contains(fmt, from_ascii("%1$d")), /**/);
+       LASSERT(contains(fmt, from_ascii("%2$d")), /**/);
        docstring str = subst(fmt, from_ascii("%1$d"), convert<docstring>(arg1));
        str = subst(str, from_ascii("%2$d"), convert<docstring>(arg2));
        return subst(str, from_ascii("%%"), from_ascii("%"));
@@ -1109,9 +1073,9 @@ docstring bformat(docstring const & fmt, int arg1, int arg2)
 template<>
 docstring bformat(docstring const & fmt, docstring arg1, docstring arg2, docstring arg3)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$s")));
-       BOOST_ASSERT(contains(fmt, from_ascii("%2$s")));
-       BOOST_ASSERT(contains(fmt, from_ascii("%3$s")));
+       LASSERT(contains(fmt, from_ascii("%1$s")), /**/);
+       LASSERT(contains(fmt, from_ascii("%2$s")), /**/);
+       LASSERT(contains(fmt, from_ascii("%3$s")), /**/);
        docstring str = subst(fmt, from_ascii("%1$s"), arg1);
        str = subst(str, from_ascii("%2$s"), arg2);
        str = subst(str, from_ascii("%3$s"), arg3);
@@ -1123,10 +1087,10 @@ template<>
 docstring bformat(docstring const & fmt,
               docstring arg1, docstring arg2, docstring arg3, docstring arg4)
 {
-       BOOST_ASSERT(contains(fmt, from_ascii("%1$s")));
-       BOOST_ASSERT(contains(fmt, from_ascii("%2$s")));
-       BOOST_ASSERT(contains(fmt, from_ascii("%3$s")));
-       BOOST_ASSERT(contains(fmt, from_ascii("%4$s")));
+       LASSERT(contains(fmt, from_ascii("%1$s")), /**/);
+       LASSERT(contains(fmt, from_ascii("%2$s")), /**/);
+       LASSERT(contains(fmt, from_ascii("%3$s")), /**/);
+       LASSERT(contains(fmt, from_ascii("%4$s")), /**/);
        docstring str = subst(fmt, from_ascii("%1$s"), arg1);
        str = subst(str, from_ascii("%2$s"), arg2);
        str = subst(str, from_ascii("%3$s"), arg3);