[#BloombergLP-bslmf-InvokeResult_FunctorImp-06-unpoint-001]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06.adoc[InvokeResult&lowbar;FunctorImp&lt;bslmf::VoidType&lt;decltype(InvokeResult&lowbar;ImpUtils&colon;&colon;myDeclval&lt;t&lowbar;FN&gt;()(
                    InvokeResult&lowbar;ImpUtils&colon;&colon;myDeclval&lt;t&lowbar;ARGTYPES&gt;()&period;&period;&period;))&gt;::type, t&lowbar;FN, t&lowbar;ARGTYPES&period;&period;&period;&gt;]::unpoint
:relfileprefix: ../../../
:mrdocs:

`unpoint` overloads

== Synopses

Declared in `&lt;bslmf&lowbar;invokeresult&period;h&gt;`

Dereference a pointer type for metaprogramming (declared only)&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TP&gt;
static
t&lowbar;TP&
xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-09.adoc[unpoint](t&lowbar;TP& arg);
----

[.small]#xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-09.adoc[_» more&period;&period;&period;_]#

Same as the other `unpoint` overloads, for `const t&lowbar;TP&amp;`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TP&gt;
static
t&lowbar;TP const&
xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-000.adoc[unpoint](t&lowbar;TP const& arg);
----

[.small]#xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-000.adoc[_» more&period;&period;&period;_]#

Same as the other `unpoint` overloads, for `t&lowbar;TP &ast;&amp;`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TP&gt;
static
t&lowbar;TP&
xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-04.adoc[unpoint](t&lowbar;TP*& arg)
requires !bsl&colon;&colon;is&lowbar;void&lt;t&lowbar;TP&gt;&colon;&colon;value;
----

[.small]#xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-04.adoc[_» more&period;&period;&period;_]#

Same as the other `unpoint` overloads, for `t&lowbar;TP &ast;volatile&amp;`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TP&gt;
static
t&lowbar;TP&
xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-07.adoc[unpoint](t&lowbar;TP volatile*& arg)
requires !bsl&colon;&colon;is&lowbar;void&lt;t&lowbar;TP&gt;&colon;&colon;value;
----

[.small]#xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-07.adoc[_» more&period;&period;&period;_]#

Same as the other `unpoint` overloads, for `t&lowbar;TP &ast;const&amp;`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TP&gt;
static
t&lowbar;TP&
xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-00f.adoc[unpoint](t&lowbar;TP const*& arg)
requires !bsl&colon;&colon;is&lowbar;void&lt;t&lowbar;TP&gt;&colon;&colon;value;
----

[.small]#xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-00f.adoc[_» more&period;&period;&period;_]#

Same as the other `unpoint` overloads, for `t&lowbar;TP &ast;const volatile&amp;`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TP&gt;
static
t&lowbar;TP&
xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-05.adoc[unpoint](t&lowbar;TP const volatile*& arg)
requires !bsl&colon;&colon;is&lowbar;void&lt;t&lowbar;TP&gt;&colon;&colon;value;
----

[.small]#xref:BloombergLP/bslmf/InvokeResult_FunctorImp-06/unpoint-05.adoc[_» more&period;&period;&period;_]#

== Parameters

[cols="1,4"]
|===
| Name| Description
| *arg*
| expression that is returned unchanged when not a pointer
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
