Construct a new std::experimental::shared_ptr
object that shares
ownership the supplied std::experimental::shared_ptr
instance and holds
the supplied pointer
template<class Other> shared_ptr(shared_ptr<Other> const& sp,T* p) noexcept;
If sp.use_count()>0
, construct a new std::experimental::shared_ptr
instance that
shares ownership with sp
and holds the value p
.
Otherwise constructs a new empty
std::experimental::shared_ptr
instance that
holds the value p
.
this->use_count()==sp.use_count()
.
!this->owner_before(sp)
. !sp.owner_before(*this)
.
this->get()==p
for the newly-constructed
std::experimental::shared_ptr
object. If
sp.use_count()>0
before the constructor invocation
then sp.use_count()
is increased by 1.
Nothing.
This constructor allows construction of an empty
std::experimental::shared_ptr
with a non-null
value.
#include <experimental/atomic>