Quick Links: |
#include <bslalg_nothrowmovableutil.h>
Classes | |
struct | IsWrapped |
struct | UnwrappedType |
struct | WrappedType |
Static Public Member Functions | |
template<class TYPE > | |
static UnwrappedType< TYPE > ::type & | unwrap (TYPE &f) |
template<class TYPE > | |
static UnwrappedType< TYPE > ::type const & | unwrap (TYPE const &f) |
template<class TYPE > | |
static bslmf::MovableRef < const typename UnwrappedType < TYPE >::type > | unwrap (BSLMF_MOVABLEREF_DEDUCE(const TYPE) f) |
template<class TYPE > | |
static bslmf::MovableRef < typename UnwrappedType< TYPE > ::type > | unwrap (BSLMF_MOVABLEREF_DEDUCE(TYPE) f) |
template<class TYPE > | |
static WrappedType< TYPE >::type | wrap (TYPE &f) |
template<class TYPE > | |
static WrappedType< TYPE >::type | wrap (TYPE const &f) |
template<class TYPE > | |
static WrappedType< TYPE >::type | wrap (BSLMF_MOVABLEREF_DEDUCE(const TYPE) f) |
template<class TYPE > | |
static WrappedType< TYPE >::type | wrap (BSLMF_MOVABLEREF_DEDUCE(TYPE) f) |
Namesapace for NothrowMovableWrapper
traits and utilities.
See Component bslalg_nothrowmovableutil
static UnwrappedType<TYPE>::type& bslalg::NothrowMovableUtil::unwrap | ( | TYPE & | f | ) | [static] |
static UnwrappedType<TYPE>::type const& bslalg::NothrowMovableUtil::unwrap | ( | TYPE const & | f | ) | [static] |
static bslmf::MovableRef<const typename UnwrappedType<TYPE>::type> bslalg::NothrowMovableUtil::unwrap | ( | BSLMF_MOVABLEREF_DEDUCE(const TYPE) | f | ) | [static] |
static bslmf::MovableRef<typename UnwrappedType<TYPE>::type> bslalg::NothrowMovableUtil::unwrap | ( | BSLMF_MOVABLEREF_DEDUCE(TYPE) | f | ) | [static] |
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.
static WrappedType<TYPE>::type bslalg::NothrowMovableUtil::wrap | ( | TYPE & | f | ) | [static] |
static WrappedType<TYPE>::type bslalg::NothrowMovableUtil::wrap | ( | TYPE const & | f | ) | [static] |
static WrappedType<TYPE>::type bslalg::NothrowMovableUtil::wrap | ( | BSLMF_MOVABLEREF_DEDUCE(const TYPE) | f | ) | [static] |
static WrappedType<TYPE>::type bslalg::NothrowMovableUtil::wrap | ( | BSLMF_MOVABLEREF_DEDUCE(TYPE) | f | ) | [static] |
Return a wrapped copy of the specified f
object. If f
is already wrapped, return a simple copy of f
without wrapping it again. Note that the overloads taking an lvalue argument prevent the overload taking an rvalue argument from treating the argument as a forwarding reference.