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.

Template Parameters

Name

Description

Class

The class pointed to by the std::weak_ptr.

Registry

A registry.

Created with MrDocs