boost::openmethod::virtual_ptr<SmartPtr, Registry>::virtual_ptr

Constructors

Synopses

Default constructor

virtual_ptr(virtual_ptr const& other) = default;

Construct from nullptr

explicit
virtual_ptr(std::nullptr_t);

Construct from a smart pointer to a derived class

template<class Other>
requires SameSmartPtr<SmartPtr, Other, Registry> &&
            IsPolymorphic<typename Other::element_type, Registry> &&
            std::is_constructible_v<SmartPtr, Other&>
virtual_ptr(Other& other);

Construct from a (const) smart pointer to a derived class

template<class Other>
requires SameSmartPtr<SmartPtr, Other, Registry> &&
            IsPolymorphic<typename Other::element_type, Registry> &&
            std::is_constructible_v<SmartPtr, const Other&>
virtual_ptr(Other const& other);

Construct from a smart virtual (const) pointer to a derived class

template<class Other>
requires SameSmartPtr<SmartPtr, Other, Registry> &&
            std::is_constructible_v<SmartPtr, const Other&>
virtual_ptr(virtual_ptr<Other, Registry> const& other);

Move‐construct from a smart pointer to a derived class

template<class Other>
requires SameSmartPtr<SmartPtr, Other, Registry> &&
            IsPolymorphic<typename Other::element_type, Registry> &&
            std::is_constructible_v<SmartPtr, Other&&>
virtual_ptr(Other&& other);

Construct‐move from a virtual pointer to a derived class

template<class Other>
requires SameSmartPtr<SmartPtr, Other, Registry> &&
            std::is_constructible_v<SmartPtr, Other&&>
virtual_ptr(virtual_ptr<Other, Registry>&& other);

Parameters

Name Description

value

A nullptr.

Created with MrDocs