new conversions
This commit is contained in:
@@ -736,7 +736,9 @@ namespace xml {
|
||||
const std::string& value() const throw();
|
||||
std::string& value() throw();
|
||||
operator bool() const throw();
|
||||
bool toBool() const throw();
|
||||
operator unsigned long() const throw();
|
||||
unsigned long toNumber() const throw();
|
||||
operator List() const throw();
|
||||
List toList(const std::string& separators=" \t\n\r") const throw();
|
||||
std::string front(const std::string& separators=" \t\n\r") const
|
||||
|
||||
+12
-3
@@ -150,10 +150,20 @@ namespace xml {
|
||||
/*! @return @c true if the value is set and not equal to one of:
|
||||
@c false @c no @c 0. */
|
||||
Attributes::Value::operator bool() const throw() {
|
||||
return !(second.size()||second=="false"||second=="no"||second=="0");
|
||||
return bool();
|
||||
}
|
||||
//! Convert the attribute to a boolean.
|
||||
/*! @return @c true if the value is set and not equal to one of:
|
||||
@c false @c no @c 0. */
|
||||
bool Attributes::Value::toBool() const throw() {
|
||||
return !(!second.size()||second=="false"||second=="no"||second=="0");
|
||||
}
|
||||
//! Convert the attribute to a number.
|
||||
Attributes::Value::operator unsigned long() const throw() {
|
||||
return toNumber();
|
||||
}
|
||||
//! Convert the attribute to a number.
|
||||
unsigned long Attributes::Value::toNumber() const throw() {
|
||||
std::stringstream ss(second);
|
||||
int i(0);
|
||||
ss>>i;
|
||||
@@ -410,8 +420,7 @@ namespace xml {
|
||||
@endcode
|
||||
If a factory reads from a stream and the specified attribute is
|
||||
not given, it is set to @c deflt. */
|
||||
Node& Node::attr(const std::string& name, const std::string& deflt)
|
||||
throw() {
|
||||
Node& Node::attr(const std::string& name, const std::string& deflt) throw() {
|
||||
_attributes[name] = deflt;
|
||||
return *this;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user