From 5a2fa3fe5079c8e917f7938602d3def7df71f210 Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine" Date: Mon, 5 Jan 2009 22:47:35 +0000 Subject: Unsigned integer support for attributes (as_uint, operator=) git-svn-id: http://pugixml.googlecode.com/svn/trunk@101 99668b35-9821-0410-8761-19e4c4f06640 --- src/pugixml.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/pugixml.cpp') diff --git a/src/pugixml.cpp b/src/pugixml.cpp index fbb95f1..e0d74aa 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -1676,6 +1676,13 @@ namespace pugi return atoi(_attr->value); } + unsigned int xml_attribute::as_uint() const + { + if(empty() || !_attr->value) return 0; + int result = atoi(_attr->value); + return result < 0 ? 0 : static_cast(result); + } + double xml_attribute::as_double() const { if(empty() || !_attr->value) return 0.0; @@ -1740,6 +1747,14 @@ namespace pugi return *this; } + xml_attribute& xml_attribute::operator=(unsigned int rhs) + { + char buf[128]; + sprintf(buf, "%u", rhs); + set_value(buf); + return *this; + } + xml_attribute& xml_attribute::operator=(double rhs) { char buf[128]; -- cgit v1.2.3