|
| BSLMF_NESTED_TRAIT_DECLARATION_IF (Variant4, bslma::UsesBslmaAllocator, Traits::k_VARIANT_USES_BSLMA_ALLOCATOR) |
|
| BSLMF_NESTED_TRAIT_DECLARATION_IF (Variant4, bslmf::IsBitwiseCopyable, Traits::k_VARIANT_IS_BITWISE_COPYABLE) |
|
| BSLMF_NESTED_TRAIT_DECLARATION_IF (Variant4, bslmf::IsBitwiseMoveable, Traits::k_VARIANT_IS_BITWISE_MOVEABLE) |
|
| BSLMF_NESTED_TRAIT_DECLARATION (Variant4, HasPrintMethod) |
|
| Variant4 () |
|
template<class TYPE_OR_ALLOCATOR > |
| Variant4 (const TYPE_OR_ALLOCATOR &valueOrAllocator) |
|
template<class TYPE > |
| Variant4 (const TYPE &value, bslma::Allocator *basicAllocator) |
|
template<class TYPE > |
| Variant4 (bslmf::MovableRef< TYPE > value) |
|
template<class TYPE > |
| Variant4 (bslmf::MovableRef< TYPE > value, bslma::Allocator *basicAllocator) |
|
| Variant4 (const Variant4 &original, bslma::Allocator *basicAllocator=0) |
|
| Variant4 (bslmf::MovableRef< Variant4 > original) |
|
| Variant4 (bslmf::MovableRef< Variant4 > original, bslma::Allocator *basicAllocator) |
|
template<class TYPE > |
Variant4 & | operator= (const TYPE &value) |
|
template<class TYPE > |
Variant4 & | operator= (bslmf::MovableRef< TYPE > value) |
|
Variant4 & | operator= (const Variant4 &rhs) |
|
Variant4 & | operator= (bslmf::MovableRef< Variant4 > rhs) |
|
template<class TYPE > |
Variant4< A1, A2, A3, A4 > & | operator= (const TYPE &value) |
|
template<class TYPE > |
Variant4< A1, A2, A3, A4 > & | operator= (bslmf::MovableRef< TYPE > value) |
|
| BSLMF_NESTED_TRAIT_DECLARATION_IF (VariantImp, bslma::UsesBslmaAllocator, Traits::k_VARIANT_USES_BSLMA_ALLOCATOR) |
|
| BSLMF_NESTED_TRAIT_DECLARATION_IF (VariantImp, bslmf::IsBitwiseCopyable, Traits::k_VARIANT_IS_BITWISE_COPYABLE) |
|
| BSLMF_NESTED_TRAIT_DECLARATION_IF (VariantImp, bslmf::IsBitwiseMoveable, Traits::k_VARIANT_IS_BITWISE_MOVEABLE) |
|
| BSLMF_NESTED_TRAIT_DECLARATION (VariantImp, HasPrintMethod) |
|
| VariantImp () |
|
| VariantImp (const TYPE_OR_ALLOCATOR &valueOrAllocator) |
|
| VariantImp (const TYPE &value, bslma::Allocator *basicAllocator) |
|
| VariantImp (bslmf::MovableRef< TYPE > value) |
|
| VariantImp (bslmf::MovableRef< TYPE > value, bslma::Allocator *basicAllocator) |
|
| VariantImp (const VariantImp &original, bslma::Allocator *basicAllocator=0) |
|
| VariantImp (bslmf::MovableRef< VariantImp > original) |
|
| VariantImp (bslmf::MovableRef< VariantImp > original, bslma::Allocator *basicAllocator) |
|
| ~VariantImp () |
|
VariantImp & | operator= (const TYPE &value) |
|
VariantImp & | operator= (bslmf::MovableRef< TYPE > value) |
|
VariantImp & | operator= (const VariantImp &rhs) |
|
VariantImp & | operator= (bslmf::MovableRef< VariantImp > rhs) |
|
VariantImp< bslmf::TypeList4< A1, A2, A3, A4 >::ListType > & | operator= (const TYPE &value) |
|
VariantImp< bslmf::TypeList4< A1, A2, A3, A4 >::ListType > & | operator= (bslmf::MovableRef< TYPE > value) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | apply (VISITOR &visitor) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | apply (const VISITOR &visitor) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | apply (VISITOR &visitor, const TYPE &defaultValue) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | apply (const VISITOR &visitor, const TYPE &defaultValue) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | apply (VISITOR &visitor) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | apply (const VISITOR &visitor) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | apply (VISITOR &visitor, const TYPE &defaultValue) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | apply (const VISITOR &visitor, const TYPE &defaultValue) |
|
RET_TYPE | apply (VISITOR &visitor) |
|
RET_TYPE | apply (const VISITOR &visitor) |
|
RET_TYPE | apply (VISITOR &visitor, const TYPE &defaultValue) |
|
RET_TYPE | apply (const VISITOR &visitor, const TYPE &defaultValue) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | apply (VISITOR &visitor) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | apply (const VISITOR &visitor) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | apply (VISITOR &visitor, const TYPE &defaultValue) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | apply (const VISITOR &visitor, const TYPE &defaultValue) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | apply (VISITOR &visitor) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | apply (const VISITOR &visitor) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | apply (VISITOR &visitor, const TYPE &defaultValue) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | apply (const VISITOR &visitor, const TYPE &defaultValue) const |
|
RET_TYPE | apply (VISITOR &visitor) const |
|
RET_TYPE | apply (const VISITOR &visitor) const |
|
RET_TYPE | apply (VISITOR &visitor, const TYPE &defaultValue) const |
|
RET_TYPE | apply (const VISITOR &visitor, const TYPE &defaultValue) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | applyRaw (VISITOR &visitor) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | applyRaw (const VISITOR &visitor) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | applyRaw (VISITOR &visitor) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | applyRaw (const VISITOR &visitor) |
|
RET_TYPE | applyRaw (VISITOR &visitor) |
|
RET_TYPE | applyRaw (const VISITOR &visitor) |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | applyRaw (VISITOR &visitor) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==1, typenameVISITOR::ResultType >::type | applyRaw (const VISITOR &visitor) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | applyRaw (VISITOR &visitor) const |
|
bsl::enable_if< Variant_ReturnValueHelper< VISITOR >::value==0, void >::type | applyRaw (const VISITOR &visitor) const |
|
RET_TYPE | applyRaw (VISITOR &visitor) const |
|
RET_TYPE | applyRaw (const VISITOR &visitor) const |
|
VariantImp & | assign (const TYPE &value) |
|
VariantImp & | assign (bslmf::MovableRef< TYPE > value) |
|
VariantImp< bslmf::TypeList4< A1, A2, A3, A4 >::ListType > & | assign (const TYPE &value) |
|
VariantImp< bslmf::TypeList4< A1, A2, A3, A4 >::ListType > & | assign (bslmf::MovableRef< TYPE > value) |
|
VariantImp & | assignTo (const SOURCE_TYPE &value) |
|
VariantImp< bslmf::TypeList4< A1, A2, A3, A4 >::ListType > & | assignTo (const SOURCE_TYPE &value) |
|
TYPE & | createInPlace (ARGS &&... arguments) |
|
void | reset () |
|
void | swap (VariantImp &other) |
|
TYPE & | the () |
|
const TYPE & | the () const |
|
bool | is () const |
|
bool | isUnset () const |
|
bsl::ostream & | print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const |
|
int | typeIndex () const |
|
const bsl::type_info & | typeInfo () const |
|
STREAM & | bdexStreamIn (STREAM &stream, int version) |
| DEPRECATED: Do not use.
|
|
int | maxSupportedBdexVersion () const |
| DEPRECATED: Do not use.
|
|
STREAM & | bdexStreamOut (STREAM &stream, int version) const |
| DEPRECATED: Do not use.
|
|
template<class A1, class A2, class A3, class A4>
class bdlb::Variant4< A1, A2, A3, A4 >
This class is a "specialization" of Variant
for a fixed number (4) of types. Its 4 template arguments must all be specified (none are defaulted to bslmf::Nil
). It provides the same functionality as Variant<A1, A2, ..., A4>
.