|
template<typename T > |
constexpr auto | ranges::v3::make_optional (T &&t) noexcept(noexcept(decltype(optional< detail::decay_t< T >>{static_cast< T &&>(t)})(optional< detail::decay_t< T >>{static_cast< T &&>(t)}))) -> decltype(optional< detail::decay_t< T >> |
|
template<typename T , typename... Args> |
constexpr auto | ranges::v3::make_optional (Args &&... args) noexcept(noexcept(decltype(optional< T >{in_place, static_cast< Args &&>(args)...})(optional< T >{in_place, static_cast< Args &&>(args)...}))) -> decltype(optional< T > |
|
template<typename T , typename U , typename... Args> |
constexpr auto | ranges::v3::make_optional (std::initializer_list< U > il, Args &&... args) noexcept(noexcept(decltype(optional< T >{in_place, il, static_cast< Args &&>(args)...})(optional< T >{in_place, il, static_cast< Args &&>(args)...}))) -> decltype(optional< T > |
|