Iros
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Loading...
Searching...
No Matches
di::function::detail::YCombinator< F > Struct Template Reference

#include <di/function/ycombinator.h>

Inheritance diagram for di::function::detail::YCombinator< F >:
[legend]

Public Member Functions

template<typename Fn>
constexpr YCombinator (InPlace, Fn &&function)
 
 YCombinator (YCombinator const &)=default
 
 YCombinator (YCombinator &&)=default
 
auto operator= (YCombinator const &) -> YCombinator &=delete
 
auto operator= (YCombinator &&) -> YCombinator &=delete
 
template<typename... Args>
requires (concepts::Invocable<F&, YCombinator&, Args...>)
constexpr auto operator() (Args &&... args) &-> decltype(auto)
 
template<typename... Args>
requires (concepts::Invocable<F const&, YCombinator const&, Args...>)
constexpr auto operator() (Args &&... args) const &-> decltype(auto)
 
template<typename... Args>
requires (concepts::Invocable<F &&, YCombinator &&, Args...>)
constexpr auto operator() (Args &&... args) &&-> decltype(auto)
 
template<typename... Args>
requires (concepts::Invocable<F const &&, YCombinator const &&, Args...>)
constexpr auto operator() (Args &&... args) const &&-> decltype(auto)
 

Constructor & Destructor Documentation

◆ YCombinator() [1/3]

template<typename F>
template<typename Fn>
di::function::detail::YCombinator< F >::YCombinator ( InPlace ,
Fn && function )
inlineconstexpr

◆ YCombinator() [2/3]

template<typename F>
di::function::detail::YCombinator< F >::YCombinator ( YCombinator< F > const & )
default

◆ YCombinator() [3/3]

template<typename F>
di::function::detail::YCombinator< F >::YCombinator ( YCombinator< F > && )
default

Member Function Documentation

◆ operator()() [1/4]

template<typename F>
template<typename... Args>
requires (concepts::Invocable<F &&, YCombinator &&, Args...>)
auto di::function::detail::YCombinator< F >::operator() ( Args &&... args) && -> decltype(auto)
inlineconstexpr

◆ operator()() [2/4]

template<typename F>
template<typename... Args>
requires (concepts::Invocable<F&, YCombinator&, Args...>)
auto di::function::detail::YCombinator< F >::operator() ( Args &&... args) & -> decltype(auto)
inlineconstexpr

◆ operator()() [3/4]

template<typename F>
template<typename... Args>
requires (concepts::Invocable<F const &&, YCombinator const &&, Args...>)
auto di::function::detail::YCombinator< F >::operator() ( Args &&... args) const && -> decltype(auto)
inlineconstexpr

◆ operator()() [4/4]

template<typename F>
template<typename... Args>
requires (concepts::Invocable<F const&, YCombinator const&, Args...>)
auto di::function::detail::YCombinator< F >::operator() ( Args &&... args) const & -> decltype(auto)
inlineconstexpr

◆ operator=() [1/2]

template<typename F>
auto di::function::detail::YCombinator< F >::operator= ( YCombinator< F > && ) -> YCombinator &=delete
delete

◆ operator=() [2/2]

template<typename F>
auto di::function::detail::YCombinator< F >::operator= ( YCombinator< F > const & ) -> YCombinator &=delete
delete

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