Range-v3
Range algorithms, views, and actions for the Standard Library
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
invokable.hpp File Reference

Classes

struct  ranges::v3::concepts::Invokable
 
struct  ranges::v3::concepts::InvokablePredicate
 
struct  ranges::v3::concepts::InvokableRelation
 
struct  ranges::v3::concepts::InvokableTransform
 
struct  ranges::v3::concepts::RegularInvokable
 
struct  ranges::v3::make_invokable_fn
 

Typedefs

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 >>>
 

Variables

constexpr make_invokable_fn ranges::v3::invokable {}