[#BloombergLP-bdlb-VariantImp_Traits]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::VariantImp&lowbar;Traits
:relfileprefix: ../../
:mrdocs:

This struct is component&hyphen;private&period; Do not use&period; This meta&hyphen;function selects `VariantImp&lowbar;AllocatorBase` as a base class type if any one of the types held by a variant has the `bslma&colon;&colon;UsesBslmaAllocator` trait, and `VariantImp&lowbar;NoAllocatorBase` otherwise&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class TYPES&gt;
struct VariantImp&lowbar;Traits;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlb/VariantImp_Traits/BaseType.adoc[`BaseType`] 
| Determines what the base type is&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type1.adoc[`Type1`] 
| `Type1` is the 1st type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type10.adoc[`Type10`] 
| `Type10` is the 10th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type11.adoc[`Type11`] 
| `Type11` is the 11th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type12.adoc[`Type12`] 
| `Type12` is the 12th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type13.adoc[`Type13`] 
| `Type13` is the 13th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type14.adoc[`Type14`] 
| `Type14` is the 14th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type15.adoc[`Type15`] 
| `Type15` is the 15th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type16.adoc[`Type16`] 
| `Type16` is the 16th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type17.adoc[`Type17`] 
| `Type17` is the 17th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type18.adoc[`Type18`] 
| `Type18` is the 18th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type19.adoc[`Type19`] 
| `Type19` is the 19th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type2.adoc[`Type2`] 
| `Type2` is the 2nd type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type20.adoc[`Type20`] 
| `Type20` is the 20th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type3.adoc[`Type3`] 
| `Type3` is the 3rd type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type4.adoc[`Type4`] 
| `Type4` is the 4th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type5.adoc[`Type5`] 
| `Type5` is the 5th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type6.adoc[`Type6`] 
| `Type6` is the 6th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type7.adoc[`Type7`] 
| `Type7` is the 7th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type8.adoc[`Type8`] 
| `Type8` is the 8th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
| xref:BloombergLP/bdlb/VariantImp_Traits/Type9.adoc[`Type9`] 
| `Type9` is the 9th type in the variant&apos;s type list, or `bslmf&colon;&colon;Nil` if absent&period;
|===


== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlb/VariantImp_Traits/_04enum.adoc[`Unnamed enum`] 
| Compile&hyphen;time traits computed from the variant&apos;s held types&period;
|===



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