Range-v3 Range algorithms, views, and actions for the Standard Library |

All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
Classes | Typedefs | Variables
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 {}