summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Exception.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Exception.cpp')
-rw-r--r--cpp/src/Ice/Exception.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/cpp/src/Ice/Exception.cpp b/cpp/src/Ice/Exception.cpp
index d9d1f929fc1..848d7260502 100644
--- a/cpp/src/Ice/Exception.cpp
+++ b/cpp/src/Ice/Exception.cpp
@@ -116,7 +116,15 @@ const std::string&
Ice::UserException::ice_staticId()
{
return __Ice__UserException_ids[0];
-};
+}
+
+#ifdef ICE_CPP11_MAPPING
+unique_ptr<Ice::UserException>
+Ice::UserException::ice_clone() const
+{
+ return unique_ptr<UserException>(static_cast<UserException*>(ice_cloneImpl()));
+}
+#endif
void
Ice::UserException::__write(::Ice::OutputStream* os) const
@@ -153,6 +161,14 @@ Ice::LocalException::~LocalException()
// Out of line to avoid weak vtable
}
+#ifdef ICE_CPP11_MAPPING
+unique_ptr<Ice::LocalException>
+Ice::LocalException::ice_clone() const
+{
+ return unique_ptr<LocalException>(static_cast<LocalException*>(ice_cloneImpl()));
+}
+#endif
+
namespace
{
@@ -181,6 +197,14 @@ Ice::SystemException::~SystemException()
{
}
+#ifdef ICE_CPP11_MAPPING
+unique_ptr<Ice::SystemException>
+Ice::SystemException::ice_clone() const
+{
+ return unique_ptr<SystemException>(static_cast<SystemException*>(ice_cloneImpl()));
+}
+#endif
+
namespace
{