summaryrefslogtreecommitdiff
path: root/libxsd/xsd/cxx/xml/string.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'libxsd/xsd/cxx/xml/string.hxx')
-rw-r--r--libxsd/xsd/cxx/xml/string.hxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/libxsd/xsd/cxx/xml/string.hxx b/libxsd/xsd/cxx/xml/string.hxx
index f1a907c..832e7ec 100644
--- a/libxsd/xsd/cxx/xml/string.hxx
+++ b/libxsd/xsd/cxx/xml/string.hxx
@@ -9,9 +9,16 @@
#include <string>
#include <cstddef> // std::size_t
-#include <xsd/cxx/auto-array.hxx>
#include <xercesc/util/XercesDefs.hpp> // XMLCh
+#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
{
namespace cxx
@@ -73,7 +80,11 @@ namespace xsd
operator= (const string&);
private:
+#ifdef XSD_CXX11
+ std::unique_ptr<XMLCh[]> s_;
+#else
auto_array<XMLCh> s_;
+#endif
};
}
}