Fixed‐arity specialization of Variant for 7 types.

Synopsis

Declared in <bdlb_variant.h>

template<
    class A1,
    class A2,
    class A3,
    class A4,
    class A5,
    class A6,
    class A7>
class Variant7
    : public VariantImp<bslmf::TypeList7<A1, A2, A3, A4, A5, A6, A7>::ListType>

Description

Its 7 template arguments must all be specified (none are defaulted to bslmf::Nil). It provides the same functionality as `Variant<A1, A2, ..., A7>`.

Base Classes

Name

Description

VariantImp<bslmf::TypeList7<A1, A2, A3, A4, A5, A6, A7>::ListType>

This class provides the implementation of Variant (except for the creators) given a list of template parameter TYPES.

Member Functions

Name

Description

Variant7 [constructor]

Constructors

operator=

Assignment operators

apply

apply overloads

applyRaw

applyRaw overloads

assign

Assign the specified TYPE value to this object.

assignTo

Assign value converted to TYPE to this object.

bdexStreamIn

DEPRECATED: Do not use.

bdexStreamOut

DEPRECATED: Do not use.

createInPlace

Emplace a TYPE instance constructed from arguments.

is

Return whether this variant currently holds a TYPE value.

isUnset

Return whether this variant currently holds no value.

maxSupportedBdexVersion

DEPRECATED: Do not use.

print

Format this object to the specified output stream.

reset

Destroy the current value held by this variant (if any), and reset this variant to the unset state.

swap

Swap the value of this object with other.

the

the overloads

typeIndex

Return the 1‐based index of the held type, or 0 if unset.

typeInfo

Return typeid(void).

operator BloombergLP::bslmf::NestedTraitDeclaration<Variant7, HasPrintMethod>

Nested trait declaration for bdlb::HasPrintMethod.

operator BloombergLP::bslmf::NestedTraitDeclaration<Variant7, IsBitwiseCopyable, Traits::k_VARIANT_IS_BITWISE_COPYABLE>

Nested trait declaration for bslmf::IsBitwiseCopyable.

operator BloombergLP::bslmf::NestedTraitDeclaration<Variant7, IsBitwiseMoveable, Traits::k_VARIANT_IS_BITWISE_MOVEABLE>

Nested trait declaration for bslmf::IsBitwiseMoveable.

operator BloombergLP::bslmf::NestedTraitDeclaration<Variant7, UsesBslmaAllocator, Traits::k_VARIANT_USES_BSLMA_ALLOCATOR>

Nested trait declaration for bslma::UsesBslmaAllocator.

operator BloombergLP::bslmf::NestedTraitDeclaration<VariantImp, HasPrintMethod>

Nested trait declaration for bdlb::HasPrintMethod.

operator BloombergLP::bslmf::NestedTraitDeclaration<VariantImp, IsBitwiseCopyable, Traits::k_VARIANT_IS_BITWISE_COPYABLE>

Nested trait declaration for bslmf::IsBitwiseCopyable.

operator BloombergLP::bslmf::NestedTraitDeclaration<VariantImp, IsBitwiseMoveable, Traits::k_VARIANT_IS_BITWISE_MOVEABLE>

Nested trait declaration for bslmf::IsBitwiseMoveable.

operator BloombergLP::bslmf::NestedTraitDeclaration<VariantImp, UsesBslmaAllocator, Traits::k_VARIANT_USES_BSLMA_ALLOCATOR>

Nested trait declaration for bslma::UsesBslmaAllocator.

Non-Member Functions

Name

Description

operator!=

Return whether lhs and rhs do not have the same value.

operator==

Grant the equality comparison operator access to this class's private members.

operator==

Return whether lhs and rhs have the same value.

swap

Swap the values of the specified a and b objects.

Created with MrDocs