BloombergLP::bslmf::InvokeResult_FunctorImp<bslmf::VoidType<decltype(InvokeResult_ImpUtils::myDeclval<t_FN>()( InvokeResult_ImpUtils::myDeclval<t_ARGTYPES>()...))>::type, t_FN, t_ARGTYPES...>::unpoint

unpoint overloads

Synopses

Declared in <bslmf_invokeresult.h>

Dereference a pointer type for metaprogramming (declared only).

template<class t_TP>
static
t_TP&
unpoint(t_TP& arg);
» more...

Same as the other unpoint overloads, for const t_TP&.

template<class t_TP>
static
t_TP const&
unpoint(t_TP const& arg);
» more...

Same as the other unpoint overloads, for t_TP *&.

template<class t_TP>
static
t_TP&
unpoint(t_TP*& arg)
requires !bsl::is_void<t_TP>::value;
» more...

Same as the other unpoint overloads, for t_TP *volatile&.

template<class t_TP>
static
t_TP&
unpoint(t_TP volatile*& arg)
requires !bsl::is_void<t_TP>::value;
» more...

Same as the other unpoint overloads, for t_TP *const&.

template<class t_TP>
static
t_TP&
unpoint(t_TP const*& arg)
requires !bsl::is_void<t_TP>::value;
» more...

Same as the other unpoint overloads, for t_TP *const volatile&.

template<class t_TP>
static
t_TP&
unpoint(t_TP const volatile*& arg)
requires !bsl::is_void<t_TP>::value;
» more...

Parameters

NameDescription
argexpression that is returned unchanged when not a pointer