| 1135 | /// \synopsis template <class U=T> constexpr optional(U &&u); |
| 1136 | template <class U = T, detail::enable_if_t<std::is_convertible<U&&, T>::value>* = nullptr, detail::enable_forward_value<T, U>* = nullptr> |
| 1137 | constexpr optional(U&& u) : base(in_place, std::forward<U>(u)) { |
| 1138 | } |
| 1139 | |
| 1140 | /// \exclude |
| 1141 | template <class U = T, detail::enable_if_t<!std::is_convertible<U&&, T>::value>* = nullptr, detail::enable_forward_value<T, U>* = nullptr> |