| 5065 | /// \synopsis template <class U=T> constexpr optional(U &&u); |
| 5066 | template <class U = T, detail::enable_if_t<std::is_convertible<U&&, T>::value>* = nullptr, detail::enable_forward_value<T, U>* = nullptr> |
| 5067 | constexpr optional(U&& u) : base(in_place, std::forward<U>(u)) { |
| 5068 | } |
| 5069 | |
| 5070 | /// \exclude |
| 5071 | template <class U = T, detail::enable_if_t<!std::is_convertible<U&&, T>::value>* = nullptr, detail::enable_forward_value<T, U>* = nullptr> |