|
template<typename Fun , typename... Args> |
using | ranges::v3::Invocable = concepts::models< concepts::Invocable, Fun, Args... > |
|
template<typename Pred > |
using | ranges::v3::logical_negate = logical_negate_< detail::decay_t< Pred > > |
|
template<typename Fun , typename... Args> |
using | ranges::v3::Predicate = concepts::models< concepts::Predicate, Fun, Args... > |
|
template<typename T > |
using | ranges::v3::ref_t = decltype(ref(std::declval< T >())) |
|
template<typename Fun , typename... Args> |
using | ranges::v3::RegularInvocable = concepts::models< concepts::RegularInvocable, Fun, Args... > |
|
template<typename Fun , typename T , typename U = T> |
using | ranges::v3::Relation = concepts::models< concepts::Relation, Fun, T, U > |
|
template<typename T > |
using | ranges::v3::unwrap_reference_t = decltype(unwrap_reference(std::declval< T >())) |
|
|
template<typename T , typename U = meta::if_< std::is_lvalue_reference<T>, std::reference_wrapper<meta::_t<std::remove_reference<T>>>, T &&>> |
U | ranges::v3::bind_forward (meta::_t< std::remove_reference< T >> &t) noexcept |
|
template<typename T > |
T && | ranges::v3::bind_forward (meta::_t< std::remove_reference< T >> &&t) noexcept |
|
template<typename Arg , typename Pipe , requires = (!is_pipeable<Arg>() && is_pipeable<Pipe>())> |
auto | ranges::v3::operator| (Arg &&arg, Pipe pipe) -> decltype(pipeable_access::impl< Pipe >::pipe(static_cast< Arg &&>(arg), pipe)) |
|
template<typename Pipe0 , typename Pipe1 , requires = (is_pipeable<Pipe0>() && is_pipeable<Pipe1>())> |
auto | ranges::v3::operator| (Pipe0 pipe0, Pipe1 pipe1) -> decltype(make_pipeable(detail::composed_pipe< Pipe0, Pipe1 > |
|