|
template<std::size_t I, typename Base , typename... Tags> |
auto | ranges::v3::get (tagged< Base, Tags... > &t) noexcept(noexcept(decltype(ranges::detail::adl_get< I >(static_cast< Base &>(t)))(ranges::detail::adl_get< I >(static_cast< Base &>(t))))) -> decltype(ranges::detail::adl_get< I >(static_cast< Base &>(t))) |
|
template<std::size_t I, typename Base , typename... Tags> |
auto | ranges::v3::get (tagged< Base, Tags... > const &t) noexcept(noexcept(decltype(ranges::detail::adl_get< I >(static_cast< Base const &>(t)))(ranges::detail::adl_get< I >(static_cast< Base const &>(t))))) -> decltype(ranges::detail::adl_get< I >(static_cast< Base const &>(t))) |
|
template<std::size_t I, typename Base , typename... Tags> |
auto | ranges::v3::get (tagged< Base, Tags... > &&t) noexcept(noexcept(decltype(ranges::detail::adl_get< I >(static_cast< Base &&>(t)))(ranges::detail::adl_get< I >(static_cast< Base &&>(t))))) -> decltype(ranges::detail::adl_get< I >(static_cast< Base &&>(t))) |
|
template<std::size_t I, typename Base , typename... Tags> |
void | ranges::v3::get (tagged< Base, Tags... > const &&)=delete |
|
template<typename Tag1 , typename Tag2 , typename T1 , typename T2 , typename R = tagged_pair<Tag1(bind_element_t<T1>), Tag2(bind_element_t<T2>)>> |
constexpr R | ranges::v3::make_tagged_pair (T1 &&t1, T2 &&t2) noexcept(std::is_nothrow_constructible< R, T1, T2 >::value) |
|