This component‐private struct defines the data representation of bsl::variant and contains the implementations of its special member functions (which must be defaulted in bsl::variant itself). This class also contains implementations of additional constructors and methods needed for the correct functionality of the variant class hierarchy.
Synopsis
Declared in <bslstl_variant.h>
template<
class t_HEAD,
class... t_TAIL>
struct Variant_Base
: BloombergLP::bslstl::Variant_AllocatorBase<BloombergLP::bslstl::Variant_UsesBslmaAllocatorAny<t_HEAD, t_TAIL...>::value>
Base Classes
Name |
Description |
This component‐private struct keeps track of the allocator for a |
Types
Name |
Description |
This trivial tag type is used as a dummy when |
Type Aliases
Name |
Description |
Base class providing allocator support when needed. |
|
Utility for movable reference operations. |
|
Corresponding public |
|
Union holding the active alternative objects. |
|
Type alias to the allocator type used by |
Member Functions
Name |
Description |
|
Constructors |
|
Destroy this object. The contained value, if any, is destroyed. |
Assignment operators |
|
Create the alternative with index (template parameter) |
|
Return a null pointer. Note that this method has the same return type as the allocator‐aware version so that the remainder of the implementation of |
|
Destroy the contained value, if any. |
|
Nested trait declaration for |
|
Nested trait declaration for |
|
Nested trait declaration for |
Data Members
Name |
Description |
Index of the currently active alternative in this variant object, or |
|
Union holding the alternative object. |
Created with MrDocs