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.
Declared in <bslstl_variant.h>
template<class t_STD_VARIANT>
explicit
variant(
std::allocator_arg_t,
allocator_type allocator,
t_STD_VARIANT&& original);