summaryrefslogtreecommitdiff
path: root/src/pugixml.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pugixml.hpp')
-rw-r--r--src/pugixml.hpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/pugixml.hpp b/src/pugixml.hpp
index d3dfea6..cb6180c 100644
--- a/src/pugixml.hpp
+++ b/src/pugixml.hpp
@@ -56,11 +56,6 @@ namespace std
# endif
#endif
-// No XPath without STL
-#if !defined(PUGIXML_NO_XPATH) && defined(PUGIXML_NO_STL)
-# define PUGIXML_NO_XPATH
-#endif
-
// Include exception header for XPath
#if !defined(PUGIXML_NO_XPATH) && !defined(PUGIXML_NO_EXCEPTIONS)
# include <exception>
@@ -2017,6 +2012,7 @@ namespace pugi
*/
double evaluate_number(const xml_node& n) const;
+ #ifndef PUGIXML_NO_STL
/**
* Evaluate expression as string value for the context node \a n.
* If expression does not directly evaluate to string, the expression result is converted
@@ -2027,8 +2023,20 @@ namespace pugi
* \return evaluation result
*/
string_t evaluate_string(const xml_node& n) const;
+ #endif
/**
+ * Evaluate expression as string value for the context node \a n.
+ * If expression does not directly evaluate to string, the expression result is converted
+ * as through string() XPath function call.
+ * Throws std::bad_alloc on out of memory error.
+ *
+ * \param n - context node
+ * \return evaluation result
+ */
+ size_t evaluate_string(char_t* buffer, size_t capacity, const xml_node& n) const;
+
+ /**
* Evaluate expression as node set for the context node \a n.
* If expression does not directly evaluate to node set, throws xpath_exception.
* Throws std::bad_alloc on out of memory error.