boost::openmethod::virtual_ptr<std::weak_ptr<Class>, Registry>
Reject a virtual_ptr to a std::weak_ptr
Synopsis
Declared in <boost/openmethod/interop/std_weak_ptr.hpp>
template<
class Class,
class Registry>
requires IsSmartPtr<std::weak_ptr<Class>, Registry> == false
class virtual_ptr<std::weak_ptr<Class>, Registry>;
Description
A std::weak_ptr may refer to an object that no longer exists, so a virtual_ptr cannot track an object through one. This specialization rejects the combination at compile time, which also covers final_virtual_ptr, since that instantiates the virtual_ptr it returns. Use weak_virtual_ptr instead.
The specialization steps aside if virtual_traits is specialized for std::weak_ptr.