[#BloombergLP-bslmf-InvokeResult_Type-04e]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::InvokeResult&lowbar;Type
:relfileprefix: ../../
:mrdocs:

Map a type&hyphen;index enumerator to its corresponding C&plus;&plus; type&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;int t&lowbar;INDEX&gt;
struct InvokeResult&lowbar;Type;
----

== Description

Metafunction to convert a type index back to a type&period; For each specialization of this struct, the `type` member will be the type corresponding to `index`&period; For example, if `index` is `e&lowbar;UCHAR`, then `InvokeResult&lowbar;Type&lt;index&gt;&colon;&colon;type` is `unsigned char`&period;

== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/InvokeResult_Type-049.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;BOOL&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `bool`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-097.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;CHAR&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `char`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0d4.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;CHAR16&lowbar;T&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `char16&lowbar;t`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0b1.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;CHAR32&lowbar;T&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `char32&lowbar;t`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0ed.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;CHAR8&lowbar;T&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `char8&lowbar;t`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-036.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;CONST&lowbar;VOIDPTR&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `const void &ast;`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0ec.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;CONST&lowbar;VOLATILE&lowbar;VOIDPTR&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `const volatile void &ast;`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-06.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;DOUBLE&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `double`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0cc.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;FLOAT&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `float`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-03e.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;INT&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `int`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-05.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;LONG&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `long`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-034.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;LONG&lowbar;DOUBLE&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `long double`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-00ea.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;LONG&lowbar;LONG&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `long long`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0b0.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;NULLPTR&lowbar;T&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `bsl&colon;&colon;nullptr&lowbar;t`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-074.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;OTHER&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `InvokeResultDeductionFailed`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-070.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;POINTER&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `void &ast;`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0e1.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;SCHAR&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `signed char`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-00e3.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;SHORT&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `short`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0dd.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;UCHAR&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `unsigned char`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-02d.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;ULONG&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `unsigned long`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-02cd.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;ULONG&lowbar;LONG&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `unsigned long long`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-07b.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;UNSIGNED&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `unsigned`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-02c6.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;USHORT&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `unsigned short`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-092.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;VOID&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `void`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-08.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;VOIDPTR&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `void &ast;`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0c0.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;VOLATILE&lowbar;VOIDPTR&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `volatile void &ast;`&period;
| xref:BloombergLP/bslmf/InvokeResult_Type-0e7.adoc[`InvokeResult&lowbar;Type&lt;InvokeResult&lowbar;Index&colon;&colon;e&lowbar;WCHAR&lowbar;T&gt;`] 
| Specialization of `InvokeResult&lowbar;Type` for `wchar&lowbar;t`&period;
|===



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