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

Assignment operators

Synopses

virtual_ptr&
operator=(virtual_ptr const& other) = default;

Assign from nullptr

virtual_ptr&
operator=(std::nullptr_t);

Assign from a smart virtual pointer to a derived class

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

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

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

Assign from a smart virtual const pointer to a derived class

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

Move‐assign from a smart pointer to a derived class

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

Move from a virtual pointer to a derived class

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

Parameters

Name Description

value

A nullptr.

Created with MrDocs