If the optional base class of the specified original holds a value, create an optional object whose contained value is initialized by moving from that.
Declared in <bslstl_optional.h>
template<class t_DERIVED>
optional(
std::allocator_arg_t allocatorArg,
AllocType allocator,
BloombergLP::bslmf::MovableRef_Deduced<t_DERIVED> original);
If the optional base class of the specified original holds a value, create an optional object whose contained value is initialized by moving from that val
If the optional base class of the specified original holds a value, create an optional object whose contained value is initialized by moving from that value; otherwise, create a disengaged optional object. Use the specified allocator to supply memory. original is left in a valid, but unspecified state. Note that this constructor does not participate in overload resolution unless optional is an accessible base class of t_DERIVED or t_DERIVED is optional itself (in which case the instantiation provides the allocator-extended move constructor).
| Name | Description |
|---|---|
| allocatorArg | tag selecting the allocator-extended constructor |
| allocator | allocator used to supply memory |
| original | source optional used to initialize this object |