~singpolyma/biboumi

d7e1214cbcff2d34f45687eff7c083a89bf04802 — Florent Le Coz 8 years ago e8f22ef
XmlNode::to_string uses an ostringstream instead of a string

On my poor benchmark, it was infinitesimally faster.
1 files changed, 10 insertions(+), 9 deletions(-)

M louloulibs/xmpp/xmpp_stanza.cpp
M louloulibs/xmpp/xmpp_stanza.cpp => louloulibs/xmpp/xmpp_stanza.cpp +10 -9
@@ 5,6 5,7 @@

#include <stdexcept>
#include <iostream>
#include <sstream>

#include <string.h>



@@ 207,21 208,21 @@ const std::string XmlNode::get_name() const

std::string XmlNode::to_string() const
{
  std::string res("<");
  res += this->name;
  std::ostringstream res;
  res << "<" << this->name;
  for (const auto& it: this->attributes)
    res += " " + it.first + "='" + sanitize(it.second) + "'";
    res << " " << it.first << "='" << sanitize(it.second) + "'";
  if (!this->has_children() && this->inner.empty())
    res += "/>";
    res << "/>";
  else
    {
      res += ">" + sanitize(this->inner);
      res << ">" + sanitize(this->inner);
      for (const auto& child: this->children)
        res += child->to_string();
      res += "</" + this->get_name() + ">";
        res << child->to_string();
      res << "</" << this->get_name() << ">";
    }
  res += sanitize(this->tail);
  return res;
  res << sanitize(this->tail);
  return res.str();
}

bool XmlNode::has_children() const