[#bsl-Variant_VariantAlternativeImpl-06e]
= xref:bsl.adoc[bsl]::Variant&lowbar;VariantAlternativeImpl
:relfileprefix: ../
:mrdocs:

This component&hyphen;private metafunction provides the implementation of `bsl&colon;&colon;variant&lowbar;alternative`&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;variant&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    std::size&lowbar;t t&lowbar;INDEX,
    class t&lowbar;HEAD = BSLSTL&lowbar;VARIANT&lowbar;NOT&lowbar;A&lowbar;TYPE,
    class&period;&period;&period; t&lowbar;TAIL&gt;
struct Variant&lowbar;VariantAlternativeImpl
    : Variant&lowbar;VariantAlternativeImpl&lt;t&lowbar;INDEX &hyphen; 1, t&lowbar;TAIL&period;&period;&period;&gt;
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `Variant&lowbar;VariantAlternativeImpl&lt;t&lowbar;INDEX &hyphen; 1, t&lowbar;TAIL&period;&period;&period;&gt;`
| This component&hyphen;private metafunction provides the implementation of `bsl&colon;&colon;variant&lowbar;alternative`&period;
|===

== Specializations

[cols="1"]
|===
| Name
| xref:bsl/Variant_VariantAlternativeImpl-00.adoc[`Variant&lowbar;VariantAlternativeImpl&lt;0, BSLSTL&lowbar;VARIANT&lowbar;NOT&lowbar;A&lowbar;TYPE&gt;`] 
| xref:bsl/Variant_VariantAlternativeImpl-04.adoc[`Variant&lowbar;VariantAlternativeImpl&lt;t&lowbar;INDEX, BSLSTL&lowbar;VARIANT&lowbar;NOT&lowbar;A&lowbar;TYPE&gt;`] 
| xref:bsl/Variant_VariantAlternativeImpl-069.adoc[`Variant&lowbar;VariantAlternativeImpl&lt;0, t&lowbar;HEAD, t&lowbar;TAIL&period;&period;&period;&gt;`] 
|===


== Derived Classes

[cols="1,4"]
|===
| Name| Description
| `Variant&lowbar;VariantAlternativeImpl` 
| This component&hyphen;private metafunction provides the implementation of `bsl&colon;&colon;variant&lowbar;alternative`&period;
| xref:bsl/variant_alternative-06.adoc[`variant&lowbar;alternative&lt;t&lowbar;INDEX, variant&lt;t&lowbar;HEAD, t&lowbar;TAIL&period;&period;&period;&gt;&gt;`] 
| 
|===


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