BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bdlb::VariantImp_Traits< TYPES > Struct Template Reference

#include <bdlb_variant.h>

Public Types

enum  {
  k_VARIANT_USES_BSLMA_ALLOCATOR , k_VARIANT_IS_BITWISE_COPYABLE , k_VARIANT_IS_BITWISE_MOVEABLE , VARIANT_USES_BSLMA_ALLOCATOR = k_VARIANT_USES_BSLMA_ALLOCATOR ,
  VARIANT_IS_BITWISE_COPYABLE = k_VARIANT_IS_BITWISE_COPYABLE , VARIANT_IS_BITWISE_MOVEABLE = k_VARIANT_IS_BITWISE_MOVEABLE
}
 
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
 
typedef bsl::conditional< k_VARIANT_USES_BSLMA_ALLOCATOR, VariantImp_AllocatorBase< TYPES >, VariantImp_NoAllocatorBase< TYPES > >::type BaseType
 Determines what the base type is.
 

Detailed Description

template<class TYPES>
struct bdlb::VariantImp_Traits< TYPES >

This struct is component-private. Do not use. This meta-function selects VariantImp_AllocatorBase as a base class type if any one of the types held by a variant has the bslma::UsesBslmaAllocator trait, and VariantImp_NoAllocatorBase otherwise.

Member Typedef Documentation

◆ BaseType

◆ Type1

template<class TYPES >
typedef bslmf::TypeListTypeOf<1,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type1

◆ Type10

template<class TYPES >
typedef bslmf::TypeListTypeOf<10,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type10

◆ Type11

template<class TYPES >
typedef bslmf::TypeListTypeOf<11,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type11

◆ Type12

template<class TYPES >
typedef bslmf::TypeListTypeOf<12,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type12

◆ Type13

template<class TYPES >
typedef bslmf::TypeListTypeOf<13,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type13

◆ Type14

template<class TYPES >
typedef bslmf::TypeListTypeOf<14,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type14

◆ Type15

template<class TYPES >
typedef bslmf::TypeListTypeOf<15,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type15

◆ Type16

template<class TYPES >
typedef bslmf::TypeListTypeOf<16,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type16

◆ Type17

template<class TYPES >
typedef bslmf::TypeListTypeOf<17,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type17

◆ Type18

template<class TYPES >
typedef bslmf::TypeListTypeOf<18,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type18

◆ Type19

template<class TYPES >
typedef bslmf::TypeListTypeOf<19,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type19

◆ Type2

template<class TYPES >
typedef bslmf::TypeListTypeOf<2,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type2

◆ Type20

template<class TYPES >
typedef bslmf::TypeListTypeOf<20,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type20

◆ Type3

template<class TYPES >
typedef bslmf::TypeListTypeOf<3,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type3

◆ Type4

template<class TYPES >
typedef bslmf::TypeListTypeOf<4,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type4

◆ Type5

template<class TYPES >
typedef bslmf::TypeListTypeOf<5,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type5

◆ Type6

template<class TYPES >
typedef bslmf::TypeListTypeOf<6,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type6

◆ Type7

template<class TYPES >
typedef bslmf::TypeListTypeOf<7,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type7

◆ Type8

template<class TYPES >
typedef bslmf::TypeListTypeOf<8,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type8

◆ Type9

template<class TYPES >
typedef bslmf::TypeListTypeOf<9,TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type9

Member Enumeration Documentation

◆ anonymous enum

template<class TYPES >
anonymous enum
Enumerator
k_VARIANT_USES_BSLMA_ALLOCATOR 
k_VARIANT_IS_BITWISE_COPYABLE 
k_VARIANT_IS_BITWISE_MOVEABLE 
VARIANT_USES_BSLMA_ALLOCATOR 
VARIANT_IS_BITWISE_COPYABLE 
VARIANT_IS_BITWISE_MOVEABLE 

The documentation for this struct was generated from the following file: