diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-01-22 15:53:15 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-01-22 15:53:15 +0200 |
commit | 8533d2de846e60fc9d980a7135cb6a258393fa07 (patch) | |
tree | 192edd12debdb0d153892f2284d251741ecebca6 /libxsd/xsd/cxx/tree/elements.hxx | |
parent | f60df03e3cedb86508645357e17003eb9281f31a (diff) |
Don't use std::auto_ptr::reset for greater portability
Diffstat (limited to 'libxsd/xsd/cxx/tree/elements.hxx')
-rw-r--r-- | libxsd/xsd/cxx/tree/elements.hxx | 13 |
1 files changed, 10 insertions, 3 deletions
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<map> 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<map> 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<map> tmp (new map); + map_ = tmp; + } if (!map_->insert ( std::pair<const identity*, type*> (&id, t)).second) |