diff options
Diffstat (limited to 'libxsd/xsd/cxx/xml/char-utf8.txx')
-rw-r--r-- | libxsd/xsd/cxx/xml/char-utf8.txx | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/libxsd/xsd/cxx/xml/char-utf8.txx b/libxsd/xsd/cxx/xml/char-utf8.txx index ff3f9e0..7dc0ac9 100644 --- a/libxsd/xsd/cxx/xml/char-utf8.txx +++ b/libxsd/xsd/cxx/xml/char-utf8.txx @@ -3,7 +3,13 @@ // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <xsd/cxx/auto-array.hxx> +#include <xsd/cxx/config.hxx> // XSD_CXX11 + +#ifdef XSD_CXX11 +# include <memory> // std::unique_ptr +#else +# include <xsd/cxx/auto-array.hxx> +#endif namespace xsd { @@ -184,7 +190,12 @@ namespace xsd if (!valid) throw invalid_utf8_string (); - auto_array<XMLCh> r (new XMLCh[rl + 1]); +#ifdef XSD_CXX11 + std::unique_ptr<XMLCh[]> r ( +#else + auto_array<XMLCh> r ( +#endif + new XMLCh[rl + 1]); XMLCh* ir (r.get ()); unsigned int u (0); // Four byte UCS-4 char. |