[#BloombergLP-bslmf-Switch-07a1]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::Switch
:relfileprefix: ../../
:mrdocs:

This meta&hyphen;function, parameterized by an integral `t&lowbar;SWITCH&lowbar;SELECTOR` and types `t&lowbar;T0` up to `t&lowbar;T9`, provides a single type alias, `Type`, which resolves, through specialization for a particular value `N` of `t&lowbar;SWITCH&lowbar;SELECTOR`, to the type `TN`, or to `Nil` if `t&lowbar;SWITCH&lowbar;SELECTOR` is negative or larger than the number of template arguments provided for the types&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    size&lowbar;t t&lowbar;SWITCH&lowbar;SELECTOR,
    class&period;&period;&period; t&lowbar;TYPES&gt;
struct Switch;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/Switch-07a1/Type.adoc[`Type`] 
| This `Type` is an alias to the parameterized `TN`, where `N` is the integral value of the parameterized `t&lowbar;SWITCH&lowbar;SELECTOR`&period; Note that the first type in the list corresponds to `t&lowbar;T0`, not `t&lowbar;T1`&period;
|===


== Specializations

[cols="1"]
|===
| Name
| xref:BloombergLP/bslmf/Switch-04a.adoc[`Switch&lt;0U, t&lowbar;T0, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-058.adoc[`Switch&lt;1U, t&lowbar;T0, t&lowbar;T1, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-051.adoc[`Switch&lt;2U, t&lowbar;T0, t&lowbar;T1, t&lowbar;T2, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-04e.adoc[`Switch&lt;3U, t&lowbar;T0, t&lowbar;T1, t&lowbar;T2, t&lowbar;T3, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-0c.adoc[`Switch&lt;4U, t&lowbar;T0, t&lowbar;T1, t&lowbar;T2, t&lowbar;T3, t&lowbar;T4, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-0b.adoc[`Switch&lt;5U, t&lowbar;T0, t&lowbar;T1, t&lowbar;T2, t&lowbar;T3, t&lowbar;T4, t&lowbar;T5, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-0a.adoc[`Switch&lt;6U, t&lowbar;T0, t&lowbar;T1, t&lowbar;T2, t&lowbar;T3, t&lowbar;T4, t&lowbar;T5, t&lowbar;T6, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-00.adoc[`Switch&lt;7U, t&lowbar;T0, t&lowbar;T1, t&lowbar;T2, t&lowbar;T3, t&lowbar;T4, t&lowbar;T5, t&lowbar;T6, t&lowbar;T7, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-07c.adoc[`Switch&lt;8U, t&lowbar;T0, t&lowbar;T1, t&lowbar;T2, t&lowbar;T3, t&lowbar;T4, t&lowbar;T5, t&lowbar;T6, t&lowbar;T7, t&lowbar;T8, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-07a7.adoc[`Switch&lt;9U, t&lowbar;T0, t&lowbar;T1, t&lowbar;T2, t&lowbar;T3, t&lowbar;T4, t&lowbar;T5, t&lowbar;T6, t&lowbar;T7, t&lowbar;T8, t&lowbar;T9, t&lowbar;TYPES&period;&period;&period;&gt;`] 
| xref:BloombergLP/bslmf/Switch-0d.adoc[`Switch&lt;t&lowbar;SWITCH&lowbar;SELECTOR, t&lowbar;T0, t&lowbar;T1, t&lowbar;T2, t&lowbar;T3, t&lowbar;T4, t&lowbar;T5, t&lowbar;T6, t&lowbar;T7, t&lowbar;T8, t&lowbar;T9, t&lowbar;T10, t&lowbar;TYPES&period;&period;&period;&gt;`] 
|===



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