BloombergLP::bslstl::Variant_Base::baseEmplace

Create the alternative with index (template parameter) t_INDEX in place, direct-initialized from the specified args.

Synopsis

Declared in <bslstl_variant.h>

template<
    size_t t_INDEX,
    class... t_ARGS>
void
baseEmplace(t_ARGS&&... args);

Description

Create the alternative with index (template parameter) t_INDEX in place, direct-initialized from the specified args. If this Variant_Base object already holds a value, that contained value is destroyed before the new object is created. If the alternative is allocator-aware, it uses the allocator specified upon the construction of this Variant_Base object to supply memory; passing an allocator argument to this method results in two allocators being passed to the alternative constructor, resulting in a likely compilation error. Note that if the constructor of the alternative exits via an exception, this object is left in the valueless by exception state.

Parameters

NameDescription
argsarguments forwarded to the alternative's constructor