aboutsummaryrefslogtreecommitdiff
path: root/src/support/tuple/xobject_value.cc
diff options
context:
space:
mode:
authorAdrian Kummerländer2014-05-15 17:23:13 +0200
committerAdrian Kummerländer2014-05-15 17:23:13 +0200
commitec6abad74348e9b577e1dd63b41d65263bb0334a (patch)
tree95d35491c723b12687e067ee2a480b37daf19da2 /src/support/tuple/xobject_value.cc
parent5fbca0993146982ab1dbb0d352c1e15e40b3de22 (diff)
downloadInputXSLT-ec6abad74348e9b577e1dd63b41d65263bb0334a.tar
InputXSLT-ec6abad74348e9b577e1dd63b41d65263bb0334a.tar.gz
InputXSLT-ec6abad74348e9b577e1dd63b41d65263bb0334a.tar.bz2
InputXSLT-ec6abad74348e9b577e1dd63b41d65263bb0334a.tar.lz
InputXSLT-ec6abad74348e9b577e1dd63b41d65263bb0334a.tar.xz
InputXSLT-ec6abad74348e9b577e1dd63b41d65263bb0334a.tar.zst
InputXSLT-ec6abad74348e9b577e1dd63b41d65263bb0334a.zip
Adapted FunctionBase template to accept multiple argument types
* FunctionBase::argument_tuple is a std::tuple specialization type specialized on the argument types passed inside the variadic template argument of FunctionBase * added tuple Mapper and XObjectValue helper namespaces containing recursive tuple construction and XObjectPtr value extraction logic * changed all external function implementations accordingly * this change was implemented to uniformly support different external function argument types than std::string
Diffstat (limited to 'src/support/tuple/xobject_value.cc')
-rw-r--r--src/support/tuple/xobject_value.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/support/tuple/xobject_value.cc b/src/support/tuple/xobject_value.cc
new file mode 100644
index 0000000..3883436
--- /dev/null
+++ b/src/support/tuple/xobject_value.cc
@@ -0,0 +1,18 @@
+#include "xobject_value.h"
+
+#include <string>
+
+#include "support/xalan_string.h"
+
+namespace InputXSLT {
+
+namespace XObjectValue {
+
+template <>
+std::string get<std::string>(const xalan::XObjectPtr& ptr) {
+ return toString(ptr->str());
+}
+
+}
+
+}