[#BloombergLP-bdlb-Variant12] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::Variant12 :relfileprefix: ../../ :mrdocs: Fixed‐arity specialization of `Variant` for 12 types. == Synopsis Declared in `<bdlb_variant.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11, class A12> class Variant12 : public xref:BloombergLP/bdlb/VariantImp.adoc[VariantImp<bslmf::TypeList12<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>::ListType>] ---- == Description Its 12 template arguments _must_ all be specified (none are defaulted to `bslmf::Nil`). It provides the same functionality as `Variant<A1, A2, ..., A12>`. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bdlb/VariantImp.adoc[VariantImp<bslmf::TypeList12<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>::ListType>]` | This class provides the implementation of `Variant` (except for the creators) given a list of template parameter `TYPES`. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlb/Variant12/2constructor-082.adoc[`Variant12`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bdlb/Variant12/operator_assign-0d.adoc[`operator=`] | Assignment operators | xref:BloombergLP/bdlb/Variant12/apply.adoc[`apply`] | `apply` overloads | xref:BloombergLP/bdlb/Variant12/applyRaw.adoc[`applyRaw`] | `applyRaw` overloads | xref:BloombergLP/bdlb/Variant12/assign.adoc[`assign`] | Assign the specified `TYPE` `value` to this object. | xref:BloombergLP/bdlb/VariantImp/assignTo.adoc[`assignTo`] | Assign `value` converted to `TYPE` to this object. | xref:BloombergLP/bdlb/VariantImp/bdexStreamIn.adoc[`bdexStreamIn`] | DEPRECATED: Do not use. | xref:BloombergLP/bdlb/VariantImp/bdexStreamOut.adoc[`bdexStreamOut`] | DEPRECATED: Do not use. | xref:BloombergLP/bdlb/VariantImp/createInPlace.adoc[`createInPlace`] | Emplace a `TYPE` instance constructed from `arguments`. | xref:BloombergLP/bdlb/VariantImp/is.adoc[`is`] | Return whether this variant currently holds a `TYPE` value. | xref:BloombergLP/bdlb/VariantImp/isUnset.adoc[`isUnset`] | Return whether this variant currently holds no value. | xref:BloombergLP/bdlb/VariantImp/maxSupportedBdexVersion.adoc[`maxSupportedBdexVersion`] | DEPRECATED: Do not use. | xref:BloombergLP/bdlb/VariantImp/print.adoc[`print`] | Format this object to the specified output `stream`. | xref:BloombergLP/bdlb/VariantImp/reset.adoc[`reset`] | Destroy the current value held by this variant (if any), and reset this variant to the unset state. | xref:BloombergLP/bdlb/VariantImp/swap.adoc[`swap`] | Swap the value of this object with `other`. | xref:BloombergLP/bdlb/Variant12/the.adoc[`the`] | `the` overloads | xref:BloombergLP/bdlb/VariantImp/typeIndex.adoc[`typeIndex`] | Return the 1‐based index of the held type, or 0 if unset. | xref:BloombergLP/bdlb/VariantImp/typeInfo.adoc[`typeInfo`] | Return `typeid(void)`. | xref:BloombergLP/bdlb/Variant12/2conversion-07.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<Variant12, HasPrintMethod>`] | Nested trait declaration for `bdlb::HasPrintMethod`. | xref:BloombergLP/bdlb/Variant12/2conversion-04.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<Variant12, IsBitwiseCopyable, Traits::k_VARIANT_IS_BITWISE_COPYABLE>`] | Nested trait declaration for `bslmf::IsBitwiseCopyable`. | xref:BloombergLP/bdlb/Variant12/2conversion-0d.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<Variant12, IsBitwiseMoveable, Traits::k_VARIANT_IS_BITWISE_MOVEABLE>`] | Nested trait declaration for `bslmf::IsBitwiseMoveable`. | xref:BloombergLP/bdlb/Variant12/2conversion-08.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<Variant12, UsesBslmaAllocator, Traits::k_VARIANT_USES_BSLMA_ALLOCATOR>`] | Nested trait declaration for `bslma::UsesBslmaAllocator`. | xref:BloombergLP/bdlb/VariantImp/2conversion-0e.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<VariantImp, HasPrintMethod>`] | Nested trait declaration for `bdlb::HasPrintMethod`. | xref:BloombergLP/bdlb/VariantImp/2conversion-02.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<VariantImp, IsBitwiseCopyable, Traits::k_VARIANT_IS_BITWISE_COPYABLE>`] | Nested trait declaration for `bslmf::IsBitwiseCopyable`. | xref:BloombergLP/bdlb/VariantImp/2conversion-05.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<VariantImp, IsBitwiseMoveable, Traits::k_VARIANT_IS_BITWISE_MOVEABLE>`] | Nested trait declaration for `bslmf::IsBitwiseMoveable`. | xref:BloombergLP/bdlb/VariantImp/2conversion-04.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<VariantImp, UsesBslmaAllocator, Traits::k_VARIANT_USES_BSLMA_ALLOCATOR>`] | Nested trait declaration for `bslma::UsesBslmaAllocator`. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlb/operator_not_eq-045.adoc[`operator!=`] | Return whether `lhs` and `rhs` do not have the same value. | xref:BloombergLP/bdlb/operator_eq-0101.adoc[`operator==`] | Grant the equality comparison operator access to this class's private members. | xref:BloombergLP/bdlb/operator_eq-0fc.adoc[`operator==`] | Return whether `lhs` and `rhs` have the same value. | xref:BloombergLP/bdlb/swap-04.adoc[`swap`] | Swap the values of the specified `a` and `b` objects. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#