[#BloombergLP-bslmf-InvokeResult_MemFuncPtrImpDispatch-071-myDeclval] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::xref:BloombergLP/bslmf/InvokeResult_MemFuncPtrImpDispatch-071.adoc[InvokeResult_MemFuncPtrImpDispatch<bslmf::VoidType<decltype((InvokeResult_ImpUtils::myDeclval<t_ARG1TYPE>().get().* InvokeResult_ImpUtils::myDeclval<t_FN>())( InvokeResult_ImpUtils::myDeclval<t_ARGTYPES>()...))>::type, false, true, t_FN, t_ARG1TYPE, t_ARGTYPES...>]::myDeclval :relfileprefix: ../../../ :mrdocs: Return a `declval` reference for unevaluated metaprogramming. == Synopsis Declared in `<bslmf_invokeresult.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_SOME_TYPE> static bsl::add_rvalue_reference<t_SOME_TYPE>::type myDeclval(); ---- == Description Return a reference to the specified `t_SOME_TYPE` template parameter type; if `t_SOME_TYPE` is an rvalue, then the returned reference is an rvalue reference. This function is declared but not defined and is intended to be called in an unevaluated context. Because there is no definition, the available constructors for `t_SOME_TYPE` are irrelevant. [.small]#Created with https://www.mrdocs.com[MrDocs]#