summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/MapI.h
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2012-10-15 13:26:17 -0400
committerBernard Normier <bernard@zeroc.com>2012-10-15 13:26:17 -0400
commite5fa05955bcbb5ecbfbec341d004cfd8821bdafa (patch)
tree31e863059eca13c850f06872e8067f02009a148a /cpp/src/Freeze/MapI.h
parentWinRT fixes (diff)
downloadice-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.h16
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;