[#BloombergLP-bslmf-InvokeResult_MemObjPtrImpDispatch-0a-unpoint-08] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a.adoc[InvokeResult_MemObjPtrImpDispatch<bslmf::VoidType<decltype(InvokeResult_ImpUtils::myDeclval<t_ARGTYPE>().* InvokeResult_ImpUtils::myDeclval<t_FN>())>::type, true, false, t_FN, t_ARGTYPE>]::unpoint :relfileprefix: ../../../ :mrdocs: `unpoint` overloads == Synopses Declared in `<bslmf_invokeresult.h>` Dereference a pointer type for metaprogramming (declared only). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TP> static t_TP& xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-0d.adoc[unpoint](t_TP& arg); ---- [.small]#xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-0d.adoc[_» more..._]# Same as the other `unpoint` overloads, for `const t_TP&`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TP> static t_TP const& xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-07.adoc[unpoint](t_TP const& arg); ---- [.small]#xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-07.adoc[_» more..._]# Same as the other `unpoint` overloads, for `t_TP *&`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TP> static t_TP& xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-0e.adoc[unpoint](t_TP*& arg) requires !bsl::is_void<t_TP>::value; ---- [.small]#xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-0e.adoc[_» more..._]# Same as the other `unpoint` overloads, for `t_TP *volatile&`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TP> static t_TP& xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-05.adoc[unpoint](t_TP volatile*& arg) requires !bsl::is_void<t_TP>::value; ---- [.small]#xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-05.adoc[_» more..._]# Same as the other `unpoint` overloads, for `t_TP *const&`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TP> static t_TP& xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-09.adoc[unpoint](t_TP const*& arg) requires !bsl::is_void<t_TP>::value; ---- [.small]#xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-09.adoc[_» more..._]# Same as the other `unpoint` overloads, for `t_TP *const volatile&`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TP> static t_TP& xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-0b.adoc[unpoint](t_TP const volatile*& arg) requires !bsl::is_void<t_TP>::value; ---- [.small]#xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-0a/unpoint-0b.adoc[_» more..._]# == Parameters [cols="1,4"] |=== | Name| Description | *arg* | expression that is returned unchanged when not a pointer |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#