|
template<typename Fun , typename... Args> |
using | ranges::v3::Invokable = concepts::models< concepts::Invokable, Fun, Args...> |
|
template<typename T > |
using | ranges::v3::invokable_t = decltype(invokable(std::declval< T >())) |
|
template<typename Fun , typename... Args> |
using | ranges::v3::InvokablePredicate = concepts::models< concepts::InvokablePredicate, Fun, Args...> |
|
template<typename Fun , typename T , typename U = T> |
using | ranges::v3::InvokableRelation = concepts::models< concepts::InvokableRelation, Fun, T, U > |
|
template<typename F , typename T > |
using | ranges::v3::InvokableTransform = concepts::models< concepts::InvokableTransform, F, T > |
|
template<typename Fun , typename... Args> |
using | ranges::v3::RegularInvokable = concepts::models< concepts::RegularInvokable, Fun, Args...> |
|
template<typename Fun , bool IsConst = false> |
using | ranges::v3::semiregular_invokable_ref_t = meta::if_< SemiRegular< invokable_t< Fun >>, invokable_t< Fun >, reference_wrapper< meta::apply< meta::add_const_if_c< IsConst >, semiregular< invokable_t< Fun >>>>> |
|
template<typename Fun > |
using | ranges::v3::semiregular_invokable_t = meta::if_< SemiRegular< invokable_t< Fun >>, invokable_t< Fun >, semiregular< invokable_t< Fun >>> |
|