summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/RequestHandler.h
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2016-01-08 21:10:14 +0100
committerJose <jose@zeroc.com>2016-01-08 21:10:14 +0100
commit93ab5a8f08970ad49c6f973b965b8fbefb63882f (patch)
tree18c00abdc514ca90a7ab6e1acc5b350847843681 /cpp/src/Ice/RequestHandler.h
parentC++98 test minor build fix (diff)
downloadice-93ab5a8f08970ad49c6f973b965b8fbefb63882f.tar.bz2
ice-93ab5a8f08970ad49c6f973b965b8fbefb63882f.tar.xz
ice-93ab5a8f08970ad49c6f973b965b8fbefb63882f.zip
C++11 fix Exception::ice_clone to use exception_ptr
Diffstat (limited to 'cpp/src/Ice/RequestHandler.h')
-rw-r--r--cpp/src/Ice/RequestHandler.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/cpp/src/Ice/RequestHandler.h b/cpp/src/Ice/RequestHandler.h
index cfe7db10845..d222c8787c8 100644
--- a/cpp/src/Ice/RequestHandler.h
+++ b/cpp/src/Ice/RequestHandler.h
@@ -38,6 +38,21 @@ class ProxyOutgoingBase;
// An exception wrapper, which is used to notify that the request
// handler should be cleared and the invocation retried.
//
+#ifdef ICE_CPP11_MAPPING
+class RetryException
+{
+public:
+
+ RetryException(std::exception_ptr);
+ RetryException(const RetryException&);
+
+ std::exception_ptr get() const;
+
+private:
+
+ std::exception_ptr _ex;
+};
+#else
class RetryException
{
public:
@@ -51,6 +66,8 @@ private:
IceUtil::UniquePtr<Ice::LocalException> _ex;
};
+#endif
+
class CancellationHandler
#ifndef ICE_CPP11_MAPPING