boost::openmethod::virtual_ptr<SmartPtr, Registry>::virtual_ptr
Constructors
Synopses
Declared in <boost/openmethod/core.hpp>
Default constructor
virtual_ptr(virtual_ptr const& other) = default;
virtual_ptr(virtual_ptr&& other);
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 |
Created with MrDocs