new conversions

master
Marc Wäckerlin 15 years ago
parent 5b541b72a8
commit bc8c461147
  1. 2
      INSTALL
  2. 4
      doc/makefile.am
  3. 2
      src/xml-cxx/xml.hxx
  4. 15
      src/xml.cxx

@ -1 +1 @@
/usr/share/automake-1.10/INSTALL /usr/share/automake-1.11/INSTALL

@ -27,8 +27,8 @@ ${devel_DATA}: ${ALL_SRC} doxyfile ${deps}
if PEDANTIC if PEDANTIC
test \! -s doxygen.errors test \! -s doxygen.errors
endif endif
cd latex && make # cd latex && make
mv latex/refman.pdf @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf # mv latex/refman.pdf @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
CLEANFILES = doxygen.errors @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf CLEANFILES = doxygen.errors @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
DISTCLEANFILES = @PACKAGENAME@.doxytag DISTCLEANFILES = @PACKAGENAME@.doxytag

@ -736,7 +736,9 @@ namespace xml {
const std::string& value() const throw(); const std::string& value() const throw();
std::string& value() throw(); std::string& value() throw();
operator bool() const throw(); operator bool() const throw();
bool toBool() const throw();
operator unsigned long() const throw(); operator unsigned long() const throw();
unsigned long toNumber() const throw();
operator List() const throw(); operator List() const throw();
List toList(const std::string& separators=" \t\n\r") const throw(); List toList(const std::string& separators=" \t\n\r") const throw();
std::string front(const std::string& separators=" \t\n\r") const std::string front(const std::string& separators=" \t\n\r") const

@ -150,10 +150,20 @@ namespace xml {
/*! @return @c true if the value is set and not equal to one of: /*! @return @c true if the value is set and not equal to one of:
@c false @c no @c 0. */ @c false @c no @c 0. */
Attributes::Value::operator bool() const throw() { 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. //! Convert the attribute to a number.
Attributes::Value::operator unsigned long() const throw() { 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); std::stringstream ss(second);
int i(0); int i(0);
ss>>i; ss>>i;
@ -410,8 +420,7 @@ namespace xml {
@endcode @endcode
If a factory reads from a stream and the specified attribute is If a factory reads from a stream and the specified attribute is
not given, it is set to @c deflt. */ not given, it is set to @c deflt. */
Node& Node::attr(const std::string& name, const std::string& deflt) Node& Node::attr(const std::string& name, const std::string& deflt) throw() {
throw() {
_attributes[name] = deflt; _attributes[name] = deflt;
return *this; return *this;
} }

Loading…
Cancel
Save