|
BDE 4.14.0 Production release
|
#include <bdlb_variant.h>
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 |
| Return the allocator used by this object to supply memory. | |
Friends | |
| template<class VARIANT_TYPES > | |
| 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 typedefs 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.
See bdlb_variant
| typedef bslmf::TypeListTypeOf<1,TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type1 |
| 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<2,TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::Type2 |
| typedef bslmf::TypeListTypeOf<20,TYPES>::TypeOrDefault bdlb::VariantImp_AllocatorBase< TYPES >::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.
| 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 TYPES bdlb::VariantImp_AllocatorBase< TYPES >::TypeList |
TypeList is an alias for the bslmf::TypeList type serving as the template parameter to this variant implementation.
|
inline |
|
inline |
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.
|
inline |
| bdlb::VariantImp_AllocatorBase< TYPES >::BSLMF_NESTED_TRAIT_DECLARATION | ( | VariantImp_AllocatorBase< TYPES > | , |
| bslma::UsesBslmaAllocator | |||
| ) |
|
inline |
|
friend |