diff options
author | Bernard Normier <bernard@zeroc.com> | 2012-10-15 13:26:17 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2012-10-15 13:26:17 -0400 |
commit | e5fa05955bcbb5ecbfbec341d004cfd8821bdafa (patch) | |
tree | 31e863059eca13c850f06872e8067f02009a148a /cpp/src/Freeze/MapI.h | |
parent | WinRT fixes (diff) | |
download | ice-e5fa05955bcbb5ecbfbec341d004cfd8821bdafa.tar.bz2 ice-e5fa05955bcbb5ecbfbec341d004cfd8821bdafa.tar.xz ice-e5fa05955bcbb5ecbfbec341d004cfd8821bdafa.zip |
Fixed Freeze destructors for C++11 (ICE-4878)
Diffstat (limited to 'cpp/src/Freeze/MapI.h')
-rw-r--r-- | cpp/src/Freeze/MapI.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/cpp/src/Freeze/MapI.h b/cpp/src/Freeze/MapI.h index dc1e421d97a..f6d3e7ded81 100644 --- a/cpp/src/Freeze/MapI.h +++ b/cpp/src/Freeze/MapI.h @@ -12,6 +12,9 @@ #include <Freeze/Map.h> #include <Freeze/ConnectionI.h> +#ifdef ICE_CPP11 +# include <memory> +#endif namespace Freeze { @@ -28,7 +31,7 @@ public: IteratorHelperI(const IteratorHelperI&); virtual - ~IteratorHelperI(); + ~IteratorHelperI() ICE_NOEXCEPT_FALSE; bool find(const Key& k) const; @@ -62,12 +65,15 @@ public: void close(); - class Tx : public IceUtil::SimpleShared + class Tx +#ifndef ICE_CPP11 + : public IceUtil::SimpleShared +#endif { public: Tx(const MapHelperI&); - ~Tx(); + ~Tx() ICE_NOEXCEPT_FALSE; void dead(); @@ -82,7 +88,11 @@ public: bool _dead; }; +#ifdef ICE_CPP11 + typedef std::shared_ptr<Tx> TxPtr; +#else typedef IceUtil::Handle<Tx> TxPtr; +#endif const TxPtr& tx() const; |