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)