Classes | |
struct | ranges::v3::semiregular< T > |
struct | ranges::v3::semiregular< T & > |
struct | ranges::v3::semiregular< T && > |
Typedefs | |
template<typename T > | |
using | ranges::v3::movesemiregular_t = meta::if_c< Movable< T >() &&DefaultConstructible< T >(), T, semiregular< T > > |
template<typename T , bool IsConst = false> | |
using | ranges::v3::semiregular_ref_or_val_t = meta::if_< SemiRegular< T >, meta::if_c< IsConst, T, reference_wrapper< T > >, reference_wrapper< meta::if_c< IsConst, semiregular< T > const, semiregular< T > >> > |
template<typename T > | |
using | ranges::v3::semiregular_t = meta::if_< SemiRegular< T >, T, semiregular< T > > |
Functions | |
template<typename T > | |
auto | ranges::v3::get (meta::id_t< semiregular< T >> &t) noexcept(noexcept(decltype(t.get())(t.get()))) -> decltype(t.get()) |
template<typename T > | |
auto | ranges::v3::get (meta::id_t< semiregular< T >> const &t) noexcept(noexcept(decltype(t.get())(t.get()))) -> decltype(t.get()) |
template<typename T > | |
auto | ranges::v3::get (meta::id_t< semiregular< T >> &&t) noexcept(noexcept(decltype(detail::move(t).get())(detail::move(t).get()))) -> decltype(detail::move(t).get()) |