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);

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

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

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;

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;

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;

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;

Parameters

Name

Description

arg

expression that is returned unchanged when not a pointer

Created with MrDocs