summaryrefslogtreecommitdiff
path: root/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx
diff options
context:
space:
mode:
Diffstat (limited to 'xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx')
-rw-r--r--xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx18
1 files changed, 14 insertions, 4 deletions
diff --git a/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx b/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx
index cbf7cd8..acef18c 100644
--- a/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx
+++ b/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx
@@ -1,9 +1,14 @@
// file : xsd/cxx/xml/char-iso8859-1.txx
-// author : Boris Kolpackov <boris@codesynthesis.com>
-// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// copyright : Copyright (c) 2005-2014 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
{
@@ -87,7 +92,12 @@ namespace xsd
{
const C* end (s + len);
- auto_array<XMLCh> r (new XMLCh[len + 1]);
+#ifdef XSD_CXX11
+ std::unique_ptr<XMLCh[]> r (
+#else
+ auto_array<XMLCh> r (
+#endif
+ new XMLCh[len + 1]);
XMLCh* ir (r.get ());
for (const C* p (s); p < end; ++p)