diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2014-04-29 11:04:19 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2014-04-29 11:04:19 +0200 |
commit | 818bedc799073966a4c56fd83ab1df358b9e9c24 (patch) | |
tree | 5d69822c65b645e2ec57506c15b9dee0d188991b /xml | |
parent | 4e5dc8da6c8ef9ead4fcc6acbbade0cd6bfc61ca (diff) |
Add value<T> version, analogous to attribute<T>
Diffstat (limited to 'xml')
-rw-r--r-- | xml/parser.hxx | 1 | ||||
-rw-r--r-- | xml/parser.ixx | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/xml/parser.hxx b/xml/parser.hxx index f3a2e34..b9b5d4c 100644 --- a/xml/parser.hxx +++ b/xml/parser.hxx @@ -208,6 +208,7 @@ namespace xml const std::string& prefix () const {return pqname_->prefix ();} const std::string& value () const {return *pvalue_;} + template <typename T> T value () const; unsigned long long line () const {return line_;} unsigned long long column () const {return column_;} diff --git a/xml/parser.ixx b/xml/parser.ixx index adb8751..ac27b46 100644 --- a/xml/parser.ixx +++ b/xml/parser.ixx @@ -6,6 +6,13 @@ namespace xml { + template <typename T> + inline T parser:: + value () const + { + return value_traits<T>::parse (value (), *this); + } + inline const std::string& parser:: attribute (const std::string& n) const { |