]> git.lyx.org Git - lyx.git/blobdiff - src/sgml.cpp
* src/frontends/GuiDocument.{cpp,h}:
[lyx.git] / src / sgml.cpp
index b7871e195b5c07ae88592bb9c25ff3f8df649921..6ac6c8653b95af30c777cae4ed13e23c4bf6ac9d 100644 (file)
 #include "Buffer.h"
 #include "BufferParams.h"
 #include "Counters.h"
-#include "Text.h"
 #include "Layout.h"
 #include "OutputParams.h"
 #include "Paragraph.h"
+#include "Text.h"
+#include "TextClass.h"
 
+#include "support/convert.h"
 #include "support/docstream.h"
 #include "support/lstrings.h"
-#include "support/std_ostream.h"
-#include "support/convert.h"
 #include "support/textutils.h"
 
 #include <map>
-#include <sstream>
+#include <ostream>
 
+using namespace std;
+using namespace lyx::support;
 
 namespace lyx {
 
-using support::subst;
-
-using std::map;
-using std::ostream;
-using std::ostringstream;
-using std::string;
 
 docstring sgml::escapeChar(char_type c)
 {
@@ -98,12 +94,12 @@ docstring sgml::escapeChar(char_type c)
 
 docstring sgml::escapeString(docstring const & raw)
 {
-       odocstringstream bin;
+       docstring bin;
+       bin.reserve(raw.size() * 2); // crude approximation is sufficient
+       for (size_t i = 0; i != raw.size(); ++i)
+               bin += sgml::escapeChar(raw[i]);
 
-       for(docstring::size_type i = 0; i < raw.size(); ++i) {
-               bin  << sgml::escapeChar(raw[i]);
-       }
-       return bin.str();
+       return bin;
 }
 
 
@@ -167,12 +163,11 @@ docstring sgml::cleanID(Buffer const & buf, OutputParams const & runparams,
                        mangle = true;
                }
        }
-       if (mangle) {
+
+       if (mangle)
                content += "-" + convert<docstring>(mangleID++);
-       }
-       else if (isDigitASCII(content[content.size() - 1])) {
+       else if (isDigitASCII(content[content.size() - 1]))
                content += ".";
-       }
 
        mangledNames[orig] = content;
 
@@ -214,7 +209,7 @@ void sgml::openTag(Buffer const & buf, odocstream & os,
        string id = par.getID(buf, runparams);
 
        string attribute;
-       if(!id.empty()) {
+       if (!id.empty()) {
                if (param.find('#') != string::npos) {
                        string::size_type pos = param.find("id=<");
                        string::size_type end = param.find(">");
@@ -225,7 +220,7 @@ void sgml::openTag(Buffer const & buf, odocstream & os,
        } else {
                if (param.find('#') != string::npos) {
                        // FIXME UNICODE
-                       if(!style->counter.empty())
+                       if (!style->counter.empty())
                                counters.step(style->counter);
                        else
                                counters.step(from_ascii(name));