Quick Links: |
#include <bdlb_variant.h>
Classes | |
union | Value |
Public Types | |
typedef TYPES | TypeList |
typedef bslmf::TypeListTypeOf < 1, TYPES >::TypeOrDefault | Type1 |
typedef bslmf::TypeListTypeOf < 2, TYPES >::TypeOrDefault | Type2 |
typedef bslmf::TypeListTypeOf < 3, TYPES >::TypeOrDefault | Type3 |
typedef bslmf::TypeListTypeOf < 4, TYPES >::TypeOrDefault | Type4 |
typedef bslmf::TypeListTypeOf < 5, TYPES >::TypeOrDefault | Type5 |
typedef bslmf::TypeListTypeOf < 6, TYPES >::TypeOrDefault | Type6 |
typedef bslmf::TypeListTypeOf < 7, TYPES >::TypeOrDefault | Type7 |
typedef bslmf::TypeListTypeOf < 8, TYPES >::TypeOrDefault | Type8 |
typedef bslmf::TypeListTypeOf < 9, TYPES >::TypeOrDefault | Type9 |
typedef bslmf::TypeListTypeOf < 10, TYPES >::TypeOrDefault | Type10 |
typedef bslmf::TypeListTypeOf < 11, TYPES >::TypeOrDefault | Type11 |
typedef bslmf::TypeListTypeOf < 12, TYPES >::TypeOrDefault | Type12 |
typedef bslmf::TypeListTypeOf < 13, TYPES >::TypeOrDefault | Type13 |
typedef bslmf::TypeListTypeOf < 14, TYPES >::TypeOrDefault | Type14 |
typedef bslmf::TypeListTypeOf < 15, TYPES >::TypeOrDefault | Type15 |
typedef bslmf::TypeListTypeOf < 16, TYPES >::TypeOrDefault | Type16 |
typedef bslmf::TypeListTypeOf < 17, TYPES >::TypeOrDefault | Type17 |
typedef bslmf::TypeListTypeOf < 18, TYPES >::TypeOrDefault | Type18 |
typedef bslmf::TypeListTypeOf < 19, TYPES >::TypeOrDefault | Type19 |
typedef bslmf::TypeListTypeOf < 20, TYPES >::TypeOrDefault | Type20 |
Public Member Functions | |
BSLMF_NESTED_TRAIT_DECLARATION (VariantImp_AllocatorBase, bslma::UsesBslmaAllocator) | |
VariantImp_AllocatorBase (int type, bslma::Allocator *basicAllocator) | |
VariantImp_AllocatorBase (int type, bslma::Allocator *basicAllocator, bsl::true_type) | |
template<class TYPE > | |
VariantImp_AllocatorBase (int type, const TYPE &, bsl::false_type) | |
bslma::Allocator * | getAllocator () const |
Friends | |
class | VariantImp |
template<class VARIANT_TYPES > | |
bool | operator== (const VariantImp< VARIANT_TYPES > &, const VariantImp< VARIANT_TYPES > &) |
This class is component-private. Do not use. This class contains the typedef
s and data members of the Variant
class, and serves as the base class for the variant when any one of the types held by the variant has the bslma::UsesBslmaAllocator
type trait.
typedef TYPES bdlb::VariantImp_AllocatorBase< TYPES >::TypeList |
typedef bslmf::TypeListTypeOf< 1, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type1 |
typedef bslmf::TypeListTypeOf< 2, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type2 |
typedef bslmf::TypeListTypeOf< 3, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type3 |
typedef bslmf::TypeListTypeOf< 4, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type4 |
typedef bslmf::TypeListTypeOf< 5, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type5 |
typedef bslmf::TypeListTypeOf< 6, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type6 |
typedef bslmf::TypeListTypeOf< 7, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type7 |
typedef bslmf::TypeListTypeOf< 8, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type8 |
typedef bslmf::TypeListTypeOf< 9, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type9 |
typedef bslmf::TypeListTypeOf<10, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type10 |
typedef bslmf::TypeListTypeOf<11, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type11 |
typedef bslmf::TypeListTypeOf<12, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type12 |
typedef bslmf::TypeListTypeOf<13, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type13 |
typedef bslmf::TypeListTypeOf<14, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type14 |
typedef bslmf::TypeListTypeOf<15, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type15 |
typedef bslmf::TypeListTypeOf<16, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type16 |
typedef bslmf::TypeListTypeOf<17, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type17 |
typedef bslmf::TypeListTypeOf<18, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type18 |
typedef bslmf::TypeListTypeOf<19, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type19 |
typedef bslmf::TypeListTypeOf<20, TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type20 |
bdlb::VariantImp_AllocatorBase< TYPES >::VariantImp_AllocatorBase | ( | int | type, | |
bslma::Allocator * | basicAllocator | |||
) |
bdlb::VariantImp_AllocatorBase< TYPES >::VariantImp_AllocatorBase | ( | int | type, | |
bslma::Allocator * | basicAllocator, | |||
bsl::true_type | ||||
) |
Create a VariantImp_AllocatorBase
with the specified type
indicating the type of the object that the variant will initially hold, and the specified basicAllocator
to supply memory.
bdlb::VariantImp_AllocatorBase< TYPES >::VariantImp_AllocatorBase | ( | int | type, | |
const TYPE & | , | |||
bsl::false_type | ||||
) |
bdlb::VariantImp_AllocatorBase< TYPES >::BSLMF_NESTED_TRAIT_DECLARATION | ( | VariantImp_AllocatorBase< TYPES > | , | |
bslma::UsesBslmaAllocator | ||||
) |
bslma::Allocator* bdlb::VariantImp_AllocatorBase< TYPES >::getAllocator | ( | ) | const |
Return the allocator used by this object to supply memory.
friend class VariantImp [friend] |
bool operator== | ( | const VariantImp< VARIANT_TYPES > & | , | |
const VariantImp< VARIANT_TYPES > & | ||||
) | [friend] |