Iros
 
Loading...
Searching...
No Matches
di::function::detail::UncurryImpl< F > Class Template Reference

#include <di/function/uncurry.h>

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

Public Member Functions

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

Constructor & Destructor Documentation

◆ UncurryImpl() [1/3]

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

◆ UncurryImpl() [2/3]

template<typename F>
di::function::detail::UncurryImpl< F >::UncurryImpl ( UncurryImpl< F > const & )
constexprdefault

◆ UncurryImpl() [3/3]

template<typename F>
di::function::detail::UncurryImpl< F >::UncurryImpl ( UncurryImpl< F > && )
constexprdefault

Member Function Documentation

◆ operator()() [1/4]

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

◆ operator()() [2/4]

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

◆ operator()() [3/4]

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

◆ operator()() [4/4]

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

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