[#BloombergLP-bslmf-InvokeResult_MemObjPtrImpDispatch-05-myDeclval]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::xref:BloombergLP/bslmf/InvokeResult_MemObjPtrImpDispatch-05.adoc[InvokeResult&lowbar;MemObjPtrImpDispatch&lt;bslmf::VoidType&lt;decltype((&ast;InvokeResult&lowbar;ImpUtils&colon;&colon;myDeclval&lt;t&lowbar;ARGTYPE&gt;())&period;&ast;
                 InvokeResult&lowbar;ImpUtils&colon;&colon;myDeclval&lt;t&lowbar;FN&gt;())&gt;::type, false, false, t&lowbar;FN, t&lowbar;ARGTYPE&gt;]::myDeclval
:relfileprefix: ../../../
:mrdocs:

Return a `declval` reference for unevaluated metaprogramming&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;SOME&lowbar;TYPE&gt;
static
bsl::add&lowbar;rvalue&lowbar;reference&lt;t&lowbar;SOME&lowbar;TYPE&gt;::type
myDeclval();
----

== Description

Return a reference to the specified `t&lowbar;SOME&lowbar;TYPE` template parameter type&semi; if `t&lowbar;SOME&lowbar;TYPE` is an rvalue, then the returned reference is an rvalue reference&period; This function is declared but not defined and is intended to be called in an unevaluated context&period; Because there is no definition, the available constructors for `t&lowbar;SOME&lowbar;TYPE` are irrelevant&period;


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