[#BloombergLP-bslstl-Variant_Union-0a]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::Variant&lowbar;Union
:relfileprefix: ../../
:mrdocs:

This component&hyphen;private union can hold a `Variant&lowbar;DataImp` object for any alternative in (template parameters) `t&lowbar;TYPES&period;&period;&period;`&period; The primary template is used when `t&lowbar;TYPES&period;&period;&period;` is empty&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class&period;&period;&period; t&lowbar;TYPES&gt;
union Variant&lowbar;Union;
----

== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/Variant_Union-0d.adoc[`Variant&lowbar;Union&lt;t&lowbar;HEAD, t&lowbar;TAIL&period;&period;&period;&gt;`] 
| This partial specialization uses template recursion because C&plus;&plus; does not support member packs&period;
|===



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