Iros
 
Loading...
Searching...
No Matches
di::function::Curry< Self > Struct Template Reference

#include <di/function/curry.h>

Inheritance diagram for di::function::Curry< Self >:
[legend]

Public Member Functions

 Curry ()=default
 
 Curry (Curry const &)=default
 
 Curry (Curry &&)=default
 
auto operator= (Curry const &) -> Curry &=delete
 
auto operator= (Curry &&) -> Curry &=delete
 
template<concepts::DecayConstructible... Args>
requires (concepts::ConstructibleFrom<Self, Self&> && sizeof...(Args) < max_arity())
constexpr auto operator() (Args &&... args) &
 
template<concepts::DecayConstructible... Args>
requires (concepts::ConstructibleFrom<Self, Self const&> && sizeof...(Args) < max_arity())
constexpr auto operator() (Args &&... args) const &
 
template<concepts::DecayConstructible... Args>
requires (concepts::ConstructibleFrom<Self, Self &&> && sizeof...(Args) < max_arity())
constexpr auto operator() (Args &&... args) &&
 
template<concepts::DecayConstructible... Args>
requires (concepts::ConstructibleFrom<Self, Self const &&> && sizeof...(Args) < max_arity())
constexpr auto operator() (Args &&... args) const &&
 

Static Public Member Functions

static constexpr auto max_arity ()
 

Constructor & Destructor Documentation

◆ Curry() [1/3]

template<typename Self>
di::function::curry_ns::Curry< Self >::Curry ( )
default

◆ Curry() [2/3]

template<typename Self>
di::function::curry_ns::Curry< Self >::Curry ( Curry< Self > const & )
default

◆ Curry() [3/3]

template<typename Self>
di::function::curry_ns::Curry< Self >::Curry ( Curry< Self > && )
default

Member Function Documentation

◆ max_arity()

template<typename Self>
static constexpr auto di::function::curry_ns::Curry< Self >::max_arity ( )
inlinestaticconstexpr

◆ operator()() [1/4]

template<typename Self>
template<concepts::DecayConstructible... Args>
requires (concepts::ConstructibleFrom<Self, Self&> && sizeof...(Args) < max_arity())
auto di::function::curry_ns::Curry< Self >::operator() ( Args &&... args) &
inlineconstexpr

◆ operator()() [2/4]

template<typename Self>
template<concepts::DecayConstructible... Args>
requires (concepts::ConstructibleFrom<Self, Self &&> && sizeof...(Args) < max_arity())
auto di::function::curry_ns::Curry< Self >::operator() ( Args &&... args) &&
inlineconstexpr

◆ operator()() [3/4]

template<typename Self>
template<concepts::DecayConstructible... Args>
requires (concepts::ConstructibleFrom<Self, Self const&> && sizeof...(Args) < max_arity())
auto di::function::curry_ns::Curry< Self >::operator() ( Args &&... args) const &
inlineconstexpr

◆ operator()() [4/4]

template<typename Self>
template<concepts::DecayConstructible... Args>
requires (concepts::ConstructibleFrom<Self, Self const &&> && sizeof...(Args) < max_arity())
auto di::function::curry_ns::Curry< Self >::operator() ( Args &&... args) const &&
inlineconstexpr

◆ operator=() [1/2]

template<typename Self>
auto di::function::curry_ns::Curry< Self >::operator= ( Curry< Self > && ) -> Curry &=delete
delete

◆ operator=() [2/2]

template<typename Self>
auto di::function::curry_ns::Curry< Self >::operator= ( Curry< Self > const & ) -> Curry &=delete
delete

The documentation for this struct was generated from the following file: