diff options
author | Adrian Kummerländer | 2014-04-24 22:18:45 +0200 |
---|---|---|
committer | Adrian Kummerländer | 2014-04-24 22:18:45 +0200 |
commit | 78d3873061f1a974da4d0ccdcc1778c6a11139e8 (patch) | |
tree | 26592ea099449a8bd0617ee534990b32ff9bb25b /src/support/xerces_string_guard.h | |
parent | ff92d0af44fa454d066f6ee3fe2becd97206b64e (diff) | |
download | InputXSLT-78d3873061f1a974da4d0ccdcc1778c6a11139e8.tar InputXSLT-78d3873061f1a974da4d0ccdcc1778c6a11139e8.tar.gz InputXSLT-78d3873061f1a974da4d0ccdcc1778c6a11139e8.tar.bz2 InputXSLT-78d3873061f1a974da4d0ccdcc1778c6a11139e8.tar.lz InputXSLT-78d3873061f1a974da4d0ccdcc1778c6a11139e8.tar.xz InputXSLT-78d3873061f1a974da4d0ccdcc1778c6a11139e8.tar.zst InputXSLT-78d3873061f1a974da4d0ccdcc1778c6a11139e8.zip |
Added XercesStringGuard scope-guard to manage XMLCh
* xercesc requires XMLCh* strings to be hand-allocated and released using the XMLString class
* XercesStringGuard works as a scope-guard for XMLCh* string lifetime and greatly simplifies xerces DOM construction
Diffstat (limited to 'src/support/xerces_string_guard.h')
-rw-r--r-- | src/support/xerces_string_guard.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/support/xerces_string_guard.h b/src/support/xerces_string_guard.h new file mode 100644 index 0000000..f64a53e --- /dev/null +++ b/src/support/xerces_string_guard.h @@ -0,0 +1,24 @@ +#ifndef INPUTXSLT_SRC_SUPPORT_XERCES_STRING_GUARD_H_ +#define INPUTXSLT_SRC_SUPPORT_XERCES_STRING_GUARD_H_ + +#include <xercesc/util/XMLString.hpp> + +#include <string> + +namespace InputXSLT { + +class XercesStringGuard { + public: + XercesStringGuard(const std::string&); + ~XercesStringGuard(); + + XMLCh* operator*(); + + private: + XMLCh* const string_; + +}; + +} + +#endif // INPUTXSLT_SRC_SUPPORT_XERCES_STRING_GUARD_H_ |