| 1616 | |
| 1617 | template <class T = detail::i_am_secret, class U, class Ret = detail::conditional_t<std::is_same<T, detail::i_am_secret>::value, detail::decay_t<U>, T>> |
| 1618 | inline constexpr optional<Ret> make_optional(U&& v) { |
| 1619 | return optional<Ret>(std::forward<U>(v)); |
| 1620 | } |
| 1621 | |
| 1622 | template <class T, class... Args> |
| 1623 | inline constexpr optional<T> make_optional(Args&&... args) { |