summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/VirtualShared.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2016-02-03 10:42:29 +0100
committerBenoit Foucher <benoit@zeroc.com>2016-02-03 10:42:29 +0100
commit18a6720fcc3ece576f5fb26283e239cda2bebadd (patch)
treea7d9de0acab9e092943fb182fa880b2c4b950db6 /cpp/include/Ice/VirtualShared.h
parentICE-6861 - Java stream API changes (diff)
downloadice-18a6720fcc3ece576f5fb26283e239cda2bebadd.tar.bz2
ice-18a6720fcc3ece576f5fb26283e239cda2bebadd.tar.xz
ice-18a6720fcc3ece576f5fb26283e239cda2bebadd.zip
Refactored invocation code to better suite new C++11 mapping
Diffstat (limited to 'cpp/include/Ice/VirtualShared.h')
-rw-r--r--cpp/include/Ice/VirtualShared.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/cpp/include/Ice/VirtualShared.h b/cpp/include/Ice/VirtualShared.h
index 3dd06ea55e0..62ad8f6771c 100644
--- a/cpp/include/Ice/VirtualShared.h
+++ b/cpp/include/Ice/VirtualShared.h
@@ -20,24 +20,24 @@ namespace Ice
class VirtualEnableSharedFromThisBase : public std::enable_shared_from_this<VirtualEnableSharedFromThisBase>
{
public:
+
virtual ~VirtualEnableSharedFromThisBase() = default;
};
template<typename T> class EnableSharedFromThis : public virtual VirtualEnableSharedFromThisBase
{
-
public:
std::shared_ptr<T> shared_from_this() const
{
return std::dynamic_pointer_cast<T>(
- std::const_pointer_cast<VirtualEnableSharedFromThisBase>(VirtualEnableSharedFromThisBase::shared_from_this()));
+ std::const_pointer_cast<VirtualEnableSharedFromThisBase>(
+ VirtualEnableSharedFromThisBase::shared_from_this()));
}
-
+
std::weak_ptr<T> weak_from_this() const
{
- std::weak_ptr<T> self = shared_from_this();
- return self;
+ return shared_from_this();
}
};