Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::semiregular_box< T > Struct Template Reference
+ Inheritance diagram for ranges::semiregular_box< T >:

Public Member Functions

constexpr auto return data_ (static_cast< Args &&>(args)...)) noexcept(noexcept(decltype(CPP_AUTO_FUN_RETURNS_mutable &)(CPP_AUTO_FUN_RETURNS_mutable &))) -> decltype(CPP_AUTO_FUN_RETURNS_mutable &)
 
constexpr T & get () &noexcept
 
constexpr T const & get () const &noexcept
 
constexpr T && get () &&noexcept
 
T const && get () const &&=delete
 
constexpr operator T const & () const &noexcept
 
 operator T const && () const &&=delete
 
constexpr operator T& () &noexcept
 
constexpr operator T&& () &&noexcept
 
template<typename... Args>
constexpr auto operator() (Args &&... args) CPP_PP_CAT(CPP_PP_EAT_MUTABLE_
 
template<typename... Args>
constexpr auto operator() (Args &&... args) return data_(static_cast< Args &&>(args)...) noexcept(noexcept(decltype(CPP_AUTO_FUN_RETURNS_const &)(CPP_AUTO_FUN_RETURNS_const &))) -> decltype(CPP_AUTO_FUN_RETURNS_const &)
 
template<typename... Args, typename U = T>
constexpr auto operator() (Args &&... args) CPP_PP_CAT(CPP_PP_EAT_MUTABLE_
 
template<typename... Args>
constexpr auto operator() (Args &&... args) CPP_PP_CAT(CPP_PP_EAT_MUTABLE_
 
template<typename... Args>
void operator() (Args &&...) const &&=delete
 
semiregular_boxoperator= (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_boxoperator= (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))
 
semiregular_boxoperator= (T t) noexcept(std::is_nothrow_move_constructible< T >::value &&(!std::is_move_assignable< T >::value||std::is_nothrow_move_assignable< T >::value))
 
constexpr auto return ((U &&) data_)(static_cast< Args &&>(args)...)) noexcept(noexcept(decltype(CPP_AUTO_FUN_RETURNS_mutable &&)(CPP_AUTO_FUN_RETURNS_mutable &&))) -> decltype(CPP_AUTO_FUN_RETURNS_mutable &&)
 
constexpr auto return ((T &&) data_)(static_cast< Args &&>(args)...)) noexcept(noexcept(decltype(CPP_AUTO_FUN_RETURNS_mutable &&)(CPP_AUTO_FUN_RETURNS_mutable &&))) -> decltype(CPP_AUTO_FUN_RETURNS_mutable &&)
 
 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 >
constexpr semiregular_box (U &&u) noexcept(std::is_nothrow_constructible< T, U >::value) requires(!defer
 
template<typename U >
constexpr semiregular_box (U &&u) noexcept(std::is_nothrow_constructible< T, U >::value) requires(!defer
 
template<typename... Args>
requires constructible_from< T, Args... > constexpr semiregular_box (in_place_t, Args &&... args) noexcept(std::is_nothrow_constructible< T, Args... >::value)