summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/VirtualShared.h
diff options
context:
space:
mode:
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();
}
};