Create an optional object whose contained value is initialized by forwarding from the specified value. Use the specified allocator to supply memory. Note that this constructor participates in overload resolution only when t_TYPE is constructible from t_ANY_TYPE, and is explicit only when t_ANY_TYPE is not implicitly convertible to t_TYPE.