Inheritance diagram for ranges::semiregular_box< T >:Public Member Functions | |
| constexpr T && | get () &&noexcept |
| constexpr T & | get () &noexcept |
| T const && | get () const &&=delete |
| constexpr T const & | get () const &noexcept |
| constexpr | operator T const & () const &noexcept |
| operator T const && () const &&=delete | |
| constexpr | operator T& () &noexcept |
| constexpr | operator T&& () &&noexcept |
|
template<typename... Args> requires invocable<T, Args...> | |
| constexpr decltype(auto) | operator() (Args &&... args) &&noexcept(is_nothrow_invocable_v< T, Args... >) |
|
template<typename... Args> requires invocable<T &, Args...> | |
| constexpr decltype(auto) | operator() (Args &&... args) &noexcept(is_nothrow_invocable_v< T &, Args... >) |
|
template<typename... Args> requires invocable<T const &, Args...> | |
| constexpr decltype(auto) | operator() (Args &&... args) const &noexcept(is_nothrow_invocable_v< T const &, Args... >) |
| template<typename... Args> | |
| void | operator() (Args &&...) const &&=delete |
| semiregular_box & | operator= (semiregular_box &&that) noexcept(std::is_nothrow_move_constructible< T >::value &&(!std::is_move_assignable< T >::value||std::is_nothrow_move_assignable< T >::value)) |
| semiregular_box & | operator= (semiregular_box const &that) noexcept(std::is_nothrow_copy_constructible< T >::value &&(!std::is_copy_assignable< T >::value||std::is_nothrow_copy_assignable< T >::value)) |
|
template<typename... Args> requires constructible_from<T, Args...> | |
| constexpr | semiregular_box (in_place_t, Args &&... args) noexcept(std::is_nothrow_constructible< T, Args... >::value) |
| semiregular_box (semiregular_box &&that) noexcept(std::is_nothrow_move_constructible< T >::value) | |
| semiregular_box (semiregular_box const &that) noexcept(std::is_nothrow_copy_constructible< T >::value) | |
|
template<typename U > requires (!same_as<uncvref_t<U>, semiregular_box>) && constructible_from<T, U> && (!convertible_to<U, T>) | |
| constexpr | semiregular_box (U &&u) noexcept(std::is_nothrow_constructible< T, U >::value) |
|
template<typename U > requires (!same_as<uncvref_t<U>, semiregular_box>) && constructible_from<T, U> && convertible_to<U, T> | |
| constexpr | semiregular_box (U &&u) noexcept(std::is_nothrow_constructible< T, U >::value) |