From 8533d2de846e60fc9d980a7135cb6a258393fa07 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 22 Jan 2010 15:53:15 +0200 Subject: Don't use std::auto_ptr::reset for greater portability --- libxsd/xsd/cxx/tree/elements.hxx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'libxsd/xsd/cxx/tree/elements.hxx') diff --git a/libxsd/xsd/cxx/tree/elements.hxx b/libxsd/xsd/cxx/tree/elements.hxx index 598a756..7489872 100644 --- a/libxsd/xsd/cxx/tree/elements.hxx +++ b/libxsd/xsd/cxx/tree/elements.hxx @@ -440,7 +440,8 @@ namespace xsd if (m.get () != 0) { m->insert (map_->begin (), map_->end ()); - map_.reset (); + std::auto_ptr tmp (0); + map_ = tmp; } else m = map_; @@ -465,7 +466,10 @@ namespace xsd // Part of our subtree. // if (m.get () == 0) - m.reset (new map); + { + std::auto_ptr tmp (new map); + m = tmp; + } m->insert (*i); sr->map_->erase (i++); @@ -631,7 +635,10 @@ namespace xsd assert (container_ == 0); if (map_.get () == 0) - map_.reset (new map); + { + std::auto_ptr tmp (new map); + map_ = tmp; + } if (!map_->insert ( std::pair (&id, t)).second) -- cgit v1.1