From a6e24513d89067c16a3df214a7e2679e1f1675f1 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 8 May 2014 17:02:55 -0700 Subject: Add helpers for parsing elements with simple content --- xml/parser.ixx | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'xml/parser.ixx') diff --git a/xml/parser.ixx b/xml/parser.ixx index e58d2cf..c0fe256 100644 --- a/xml/parser.ixx +++ b/xml/parser.ixx @@ -125,6 +125,54 @@ namespace xml content (c); } + template + inline T parser:: + element () + { + return value_traits::parse (element (), *this); + } + + inline std::string parser:: + element (const std::string& n) + { + next_expect (start_element, n); + return element (); + } + + inline std::string parser:: + element (const qname_type& qn) + { + next_expect (start_element, qn); + return element (); + } + + template + inline T parser:: + element (const std::string& n) + { + return value_traits::parse (element (n), *this); + } + + template + inline T parser:: + element (const qname_type& qn) + { + return value_traits::parse (element (qn), *this); + } + + inline std::string parser:: + element (const std::string& n, const std::string& dv) + { + return element (qname_type (n), dv); + } + + template + inline T parser:: + element (const std::string& n, const T& dv) + { + return element (qname_type (n), dv); + } + inline const parser::element_entry* parser:: get_element () const { -- cgit v1.1