semiregular.hpp File Reference

## 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())