33             return new U(*
static_cast<const U*
>(x));
 
   52             mPtr.reset(mClone(rhs.
get()));
 
ValuePtr(ValuePtr &&rhs) NOEXCEPT
 
void release()
Releases the shared_ptr's ownership of the managed object using the .reset() function.
 
const T & operator*() const
 
ValuePtr(const ValuePtr &rhs)
 
const T * get() const NOEXCEPT
 
decltype(&cloner< T >::apply) cloner_type
 
std::shared_ptr< T > mPtr
 
ValuePtr< T > & operator=(ValuePtr rhs)
 
T * operator->() NOEXCEPT
 
const T * operator->() const NOEXCEPT
 
static T * apply(const T *x)