diff options
author | Adrian Kummerlaender | 2014-08-16 23:30:36 +0200 |
---|---|---|
committer | Adrian Kummerlaender | 2014-08-16 23:30:36 +0200 |
commit | f6ff54c492df81018cf48da039ee681508f88e46 (patch) | |
tree | 0659e0f5bf4529b8c83bebc87119607638f98b7f /src/function/external_text_formatter.h | |
parent | 7f6611cded8c1591f1aa1a4c7d70505cb21e7967 (diff) | |
download | InputXSLT-f6ff54c492df81018cf48da039ee681508f88e46.tar InputXSLT-f6ff54c492df81018cf48da039ee681508f88e46.tar.gz InputXSLT-f6ff54c492df81018cf48da039ee681508f88e46.tar.bz2 InputXSLT-f6ff54c492df81018cf48da039ee681508f88e46.tar.lz InputXSLT-f6ff54c492df81018cf48da039ee681508f88e46.tar.xz InputXSLT-f6ff54c492df81018cf48da039ee681508f88e46.tar.zst InputXSLT-f6ff54c492df81018cf48da039ee681508f88e46.zip |
Implemented primitive optional parameter support for external functions
* renamed FunctionExternalTextFormatter into FunctionExternalCommand
** the goal is to provide a general interface to a variety of external commands
*** e.g. not just text formatters but system utilities for file management and so on
** this requires the stdin parameter to be optional as not all external commands require stdin input
* implemented "filter_derived" helper template to determine amount of optional parameters
** optional parameters are defined as "boost::optional" specializations
*** they in turn can be detected by checking if "boost::optional_detail::optional_tag" is a base class
* "callConstructDocument" member method of "FunctionBase" performs additional bounds checking of parameter vector
* "boost::optional<std::string>" specific member overload was added to "XObjectValue" helper class
** we will have to provide full specializations for all optional types as C++ prohibits partial member function template specialization
* renamed the external function in "PlattformGuard"
* changed README.md and test cases accordingly
Diffstat (limited to 'src/function/external_text_formatter.h')
-rw-r--r-- | src/function/external_text_formatter.h | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/src/function/external_text_formatter.h b/src/function/external_text_formatter.h deleted file mode 100644 index 4788784..0000000 --- a/src/function/external_text_formatter.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef INPUTXSLT_SRC_FUNCTION_EXTERNAL_TEXT_FORMATTER_H_ -#define INPUTXSLT_SRC_FUNCTION_EXTERNAL_TEXT_FORMATTER_H_ - -#include <boost/filesystem.hpp> - -#include "base.h" - -namespace InputXSLT { - -class FunctionExternalTextFormatter : public FunctionBase< - FunctionExternalTextFormatter, - std::string, - std::string -> { - public: - using FunctionBase::FunctionBase; - - protected: - friend FunctionBase; - - DomDocumentCache::document_ptr constructDocument( - std::string, - std::string - ) const; - -}; - -} - -#endif // INPUTXSLT_SRC_FUNCTION_EXTERNAL_TEXT_FORMATTER_H_ |