bsl::variant::variant

Create a variant object from a std::variant original using allocator.

Synopsis

Declared in <bslstl_variant.h>

template<class t_STD_VARIANT>
explicit
variant(
    std::allocator_arg_t allocatorArg,
    allocator_type allocator,
    t_STD_VARIANT&& original);

Description

Create a variant object holding the same alternative (if any) held by the specified original. If this variant is allocator-aware, the specified allocator is used to supply memory. If original is not valueless by exception, the contained value is copy/move-constructed from the contained value of original. This constructor participates in overload resolution only if all alternatives are copy/move-constructible.

Parameters

NameDescription
allocatorArgtag selecting the allocator-extended overload
allocatorallocator used to supply memory
originalstd::variant to construct from