unwrap overloads
Declared in <bslalg_nothrowmovableutil.h>
Same as the preceding overload, for movable rvalues.
template<class TYPE>
static
bslmf::MovableRef<bslalg::NothrowMovableUtil::UnwrappedType<TYPE>::type>
unwrap(BloombergLP::bslmf::MovableRef_Deduced<TYPE> f);
» more...
Same as the preceding overload, for const movable rvalues.
template<class TYPE>
static
bslmf::MovableRef<bslalg::NothrowMovableUtil::UnwrappedType<TYPE>::type const>
unwrap(BloombergLP::bslmf::MovableRef_Deduced<TYPE const> f);
» more...
Return a reference to the object wrapped in the specified f object. If f is not wrapped, simply return a reference to f. Note that the overloads taking an lvalue argument prevent the overload taking an rvalue argument from treating the argument as a forwarding reference. The return type is chosen so both the value category and constness of the parameter are preserved even in the case of const rvalue references.
template<class TYPE>
static
bslalg::NothrowMovableUtil::UnwrappedType<TYPE>::type&
unwrap(TYPE& f);
» more...
Same as the preceding overload, for const lvalues.
template<class TYPE>
static
bslalg::NothrowMovableUtil::UnwrappedType<TYPE>::type const&
unwrap(TYPE const& f);
» more...