Quick Links:

bal | bbl | bdl | bsl

Classes | Namespaces | Typedefs | Functions

bdlb_variant.h File Reference

Provide a variant (discriminated union-like) type. More...

Go to the source code of this file.

Classes

struct  bdlb::Variant_ReturnValueHelper_NoType
struct  bdlb::Variant_ReturnValueHelper< VISITOR >
class  bdlb::VariantImp_AllocatorBase< TYPES >
union  bdlb::VariantImp_AllocatorBase< TYPES >::Value
class  bdlb::VariantImp_NoAllocatorBase< TYPES >
union  bdlb::VariantImp_NoAllocatorBase< TYPES >::Value
struct  bdlb::VariantImp_Traits< TYPES >
struct  bdlb::Variant_ReturnAnyTypeUtil< TYPE >
struct  bdlb::Variant_ReturnAnyTypeUtil< void >
struct  bdlb::Variant_ReturnAnyTypeUtil< TYPE & >
class  bdlb::Variant_RawVisitorHelper< RESULT_TYPE, VISITOR >
class  bdlb::VariantImp< TYPES >
class  bdlb::Variant< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20 >
class  bdlb::Variant2< A1, A2 >
class  bdlb::Variant3< A1, A2, A3 >
class  bdlb::Variant4< A1, A2, A3, A4 >
class  bdlb::Variant5< A1, A2, A3, A4, A5 >
class  bdlb::Variant6< A1, A2, A3, A4, A5, A6 >
class  bdlb::Variant7< A1, A2, A3, A4, A5, A6, A7 >
class  bdlb::Variant8< A1, A2, A3, A4, A5, A6, A7, A8 >
class  bdlb::Variant9< A1, A2, A3, A4, A5, A6, A7, A8, A9 >
class  bdlb::Variant10< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10 >
class  bdlb::Variant11< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11 >
class  bdlb::Variant12< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 >
class  bdlb::Variant13< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13 >
class  bdlb::Variant14< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14 >
class  bdlb::Variant15< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15 >
class  bdlb::Variant16< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16 >
class  bdlb::Variant17< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17 >
class  bdlb::Variant18< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18 >
class  bdlb::Variant19< A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19 >
struct  bdlb::Variant_TypeIndex< TYPES, TYPE >
struct  bdlb::Variant_DefaultConstructVisitor
struct  bdlb::Variant_CopyConstructVisitor
struct  bdlb::Variant_MoveConstructVisitor
struct  bdlb::Variant_DestructorVisitor
struct  bdlb::Variant_CopyAssignVisitor
struct  bdlb::Variant_MoveAssignVisitor
struct  bdlb::Variant_SwapVisitor
struct  bdlb::Variant_BdexStreamInVisitor< STREAM >
struct  bdlb::Variant_BdexStreamOutVisitor< STREAM >
struct  bdlb::Variant_PrintVisitor
struct  bdlb::Variant_EqualityTestVisitor

Namespaces

namespace  bdlb

Typedefs

typedef char bdlb::Variant_ReturnValueHelper_YesType

Functions

template<class TYPES >
bool bdlb::operator== (const VariantImp< TYPES > &lhs, const VariantImp< TYPES > &rhs)
template<class TYPES >
bool bdlb::operator!= (const VariantImp< TYPES > &lhs, const VariantImp< TYPES > &rhs)
template<class TYPES >
bsl::ostream & bdlb::operator<< (bsl::ostream &stream, const VariantImp< TYPES > &object)
template<class TYPES >
void bdlb::swap (VariantImp< TYPES > &a, VariantImp< TYPES > &b)

Detailed Description