BloombergLP::bdlb::VariantImp_NoAllocatorBase

This class is component-private. Do not use. This class contains the typedefs and data members of the Variant class, and serves as the base class for the variant when none of the types held by the variant has the bslma::UsesBslmaAllocator type trait. The goal is to optimize the size of the variant to avoid holding an unnecessary allocator pointer.

Synopsis

Declared in <bdlb_variant.h>

template<class TYPES>
class VariantImp_NoAllocatorBase;

Type Aliases

NameDescription
Type1 Type1 is the 1st type in the variant's type list, or bslmf::Nil if absent.
Type10 Type10 is the 10th type in the variant's type list, or bslmf::Nil if absent.
Type11 Type11 is the 11th type in the variant's type list, or bslmf::Nil if absent.
Type12 Type12 is the 12th type in the variant's type list, or bslmf::Nil if absent.
Type13 Type13 is the 13th type in the variant's type list, or bslmf::Nil if absent.
Type14 Type14 is the 14th type in the variant's type list, or bslmf::Nil if absent.
Type15 Type15 is the 15th type in the variant's type list, or bslmf::Nil if absent.
Type16 Type16 is the 16th type in the variant's type list, or bslmf::Nil if absent.
Type17 Type17 is the 17th type in the variant's type list, or bslmf::Nil if absent.
Type18 Type18 is the 18th type in the variant's type list, or bslmf::Nil if absent.
Type19 Type19 is the 19th type in the variant's type list, or bslmf::Nil if absent.
Type2 Type2 is the 2nd type in the variant's type list, or bslmf::Nil if absent.
Type20 TypeN is an alias for the Nth type in the TypeList of this variant implementation. If less than N template arguments were given to the Variant type, then TypeN is bslmf::Nil. Type20 is the 20th type in the variant's type list, or bslmf::Nil if absent.
Type3 Type3 is the 3rd type in the variant's type list, or bslmf::Nil if absent.
Type4 Type4 is the 4th type in the variant's type list, or bslmf::Nil if absent.
Type5 Type5 is the 5th type in the variant's type list, or bslmf::Nil if absent.
Type6 Type6 is the 6th type in the variant's type list, or bslmf::Nil if absent.
Type7 Type7 is the 7th type in the variant's type list, or bslmf::Nil if absent.
Type8 Type8 is the 8th type in the variant's type list, or bslmf::Nil if absent.
Type9 Type9 is the 9th type in the variant's type list, or bslmf::Nil if absent.
TypeList TypeList is an alias for the bslmf::TypeList type serving as the template parameter to this variant implementation.

Member Functions

NameDescription
VariantImp_NoAllocatorBase [constructor]Constructors
getAllocator Return 0. Note that this object does not hold an allocator pointer.

Friends

NameDescription
BloombergLP::bdlb::operator==Grant the equality comparison operator access to this class's private members.
BloombergLP::bdlb::VariantImpThis class provides the implementation of Variant (except for the creators) given a list of template parameter TYPES.