Iros
 
Loading...
Searching...
No Matches
di::function::proj_ns::ProjImpl< P, F > Class Template Reference

#include <di/function/proj.h>

Inheritance diagram for di::function::proj_ns::ProjImpl< P, F >:
[legend]

Public Member Functions

template<typename Pn, typename Fn>
constexpr ProjImpl (Pn &&p, Fn &&f)
 
constexpr ProjImpl (ProjImpl const &)=default
 
constexpr ProjImpl (ProjImpl &&)=default
 
constexpr auto operator= (ProjImpl const &) -> ProjImpl &=delete
 
constexpr auto operator= (ProjImpl &&) -> ProjImpl &=delete
 
template<typename... Args>
requires (concepts::Invocable<F&, meta::InvokeResult<P&, Args>...>)
constexpr auto operator() (Args &&... args) &-> decltype(auto)
 
template<typename... Args>
requires (concepts::Invocable<F const&, meta::InvokeResult<P const&, Args>...>)
constexpr auto operator() (Args &&... args) const &-> decltype(auto)
 
template<typename... Args>
requires (concepts::Invocable<F &&, meta::InvokeResult<P&, Args>...>)
constexpr auto operator() (Args &&... args) &&-> decltype(auto)
 
template<typename... Args>
requires (concepts::Invocable<F const &&, meta::InvokeResult<P const&, Args>...>)
constexpr auto operator() (Args &&... args) const &&-> decltype(auto)
 

Constructor & Destructor Documentation

◆ ProjImpl() [1/3]

template<typename P, typename F>
template<typename Pn, typename Fn>
di::function::proj_ns::ProjImpl< P, F >::ProjImpl ( Pn && p,
Fn && f )
inlineexplicitconstexpr

◆ ProjImpl() [2/3]

template<typename P, typename F>
di::function::proj_ns::ProjImpl< P, F >::ProjImpl ( ProjImpl< P, F > const & )
constexprdefault

◆ ProjImpl() [3/3]

template<typename P, typename F>
di::function::proj_ns::ProjImpl< P, F >::ProjImpl ( ProjImpl< P, F > && )
constexprdefault

Member Function Documentation

◆ operator()() [1/4]

template<typename P, typename F>
template<typename... Args>
requires (concepts::Invocable<F &&, meta::InvokeResult<P&, Args>...>)
auto di::function::proj_ns::ProjImpl< P, F >::operator() ( Args &&... args) && -> decltype(auto)
inlineconstexpr

◆ operator()() [2/4]

template<typename P, typename F>
template<typename... Args>
requires (concepts::Invocable<F&, meta::InvokeResult<P&, Args>...>)
auto di::function::proj_ns::ProjImpl< P, F >::operator() ( Args &&... args) & -> decltype(auto)
inlineconstexpr

◆ operator()() [3/4]

template<typename P, typename F>
template<typename... Args>
requires (concepts::Invocable<F const &&, meta::InvokeResult<P const&, Args>...>)
auto di::function::proj_ns::ProjImpl< P, F >::operator() ( Args &&... args) const && -> decltype(auto)
inlineconstexpr

◆ operator()() [4/4]

template<typename P, typename F>
template<typename... Args>
requires (concepts::Invocable<F const&, meta::InvokeResult<P const&, Args>...>)
auto di::function::proj_ns::ProjImpl< P, F >::operator() ( Args &&... args) const & -> decltype(auto)
inlineconstexpr

◆ operator=() [1/2]

template<typename P, typename F>
auto di::function::proj_ns::ProjImpl< P, F >::operator= ( ProjImpl< P, F > && ) -> ProjImpl &=delete
constexprdelete

◆ operator=() [2/2]

template<typename P, typename F>
auto di::function::proj_ns::ProjImpl< P, F >::operator= ( ProjImpl< P, F > const & ) -> ProjImpl &=delete
constexprdelete

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