From 279a262eab521434cdcf1ab33dab84bb9c0df923 Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Wed, 25 May 2011 15:04:58 +0300 Subject: Change sxml::element to use templates --- sxml.cpp | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) (limited to 'sxml.cpp') diff --git a/sxml.cpp b/sxml.cpp index f5be854..916352b 100644 --- a/sxml.cpp +++ b/sxml.cpp @@ -25,8 +25,6 @@ #include "sxml.h" -#include - namespace sxml { element::element() @@ -39,9 +37,8 @@ element::element(const element &elem) m_text(elem.m_text) {} -element::element(const std::string &name, const std::string &text) - : m_name(name), - m_text(text) +element::element(const std::string &name) + : m_name(name) {} std::string element::to_string(bool nice, int indent) const @@ -107,34 +104,18 @@ element &element::add_child(const element &child) return *this; } -element &element::set_text(const std::string &text) +template<> element &element::set_text<>(const std::string &text) { m_text = text; return *this; } -element &element::set_attr(const std::string &name, - const std::string &value) +template<> element &element::set_attr<>(const std::string &name, + const std::string &value) { m_attributes[name] = value; return *this; } -element &element::set_attr(const std::string &name, long value) -{ - std::string s; - std::stringstream ss(s); - ss << value; - return set_attr(name, ss.str()); -} - -element &element::set_attr(const std::string &name, double value) -{ - std::string s; - std::stringstream ss(s); - ss << value; - return set_attr(name, ss.str()); -} - } // namespace sxml -- cgit v1.2.3