Quick Links:

bal | bbl | bdl | bsl

Public Types

bdlb::VariantImp_Traits< TYPES > Struct Template Reference

#include <bdlb_variant.h>

List of all members.

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

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.

See Component bdlb_variant


Member Typedef Documentation

template<class TYPES>
typedef bslmf::TypeListTypeOf< 1, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type1
template<class TYPES>
typedef bslmf::TypeListTypeOf< 2, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type2
template<class TYPES>
typedef bslmf::TypeListTypeOf< 3, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type3
template<class TYPES>
typedef bslmf::TypeListTypeOf< 4, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type4
template<class TYPES>
typedef bslmf::TypeListTypeOf< 5, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type5
template<class TYPES>
typedef bslmf::TypeListTypeOf< 6, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type6
template<class TYPES>
typedef bslmf::TypeListTypeOf< 7, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type7
template<class TYPES>
typedef bslmf::TypeListTypeOf< 8, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type8
template<class TYPES>
typedef bslmf::TypeListTypeOf< 9, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type9
template<class TYPES>
typedef bslmf::TypeListTypeOf<10, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type10
template<class TYPES>
typedef bslmf::TypeListTypeOf<11, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type11
template<class TYPES>
typedef bslmf::TypeListTypeOf<12, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type12
template<class TYPES>
typedef bslmf::TypeListTypeOf<13, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type13
template<class TYPES>
typedef bslmf::TypeListTypeOf<14, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type14
template<class TYPES>
typedef bslmf::TypeListTypeOf<15, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type15
template<class TYPES>
typedef bslmf::TypeListTypeOf<16, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type16
template<class TYPES>
typedef bslmf::TypeListTypeOf<17, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type17
template<class TYPES>
typedef bslmf::TypeListTypeOf<18, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type18
template<class TYPES>
typedef bslmf::TypeListTypeOf<19, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type19
template<class TYPES>
typedef bslmf::TypeListTypeOf<20, TYPES>::TypeOrDefault bdlb::VariantImp_Traits< TYPES >::Type20
template<class TYPES>
typedef bsl::conditional<k_VARIANT_USES_BSLMA_ALLOCATOR, VariantImp_AllocatorBase<TYPES>, VariantImp_NoAllocatorBase<TYPES> >::type bdlb::VariantImp_Traits< TYPES >::BaseType

Member Enumeration Documentation

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: