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>

If the argument type t_TP is pointer to type X, where X is not cv-void, return a reference to X; otherwise return a reference to t_TP. Note that these functions are declared but not defined and are intended to be called only in an unevaluated context.

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

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

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

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

template<class t_TP>
static
t_TP&
unpoint(t_TP*&)
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*&)
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*&)
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*&)
requires !bsl::is_void<t_TP>::value;
» more...