unpoint overloads
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...