Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::detail::bind_back_fn_< Fn, Args > Struct Template Reference

Public Types

using tuple_t = std::tuple< Fn, Args... >
 

Public Member Functions

template<typename... CallArgs>
constexpr auto operator() (CallArgs &&... cargs) &&noexcept(is_nothrow_invocable_v< Fn, CallArgs..., Args... >) -> invoke_result_t< Fn, CallArgs..., Args... >
 
template<typename... CallArgs>
constexpr auto operator() (CallArgs &&... cargs) &noexcept(is_nothrow_invocable_v< Fn &, CallArgs..., Args &... >) -> invoke_result_t< Fn &, CallArgs..., Args &... >
 
template<typename... CallArgs>
constexpr auto operator() (CallArgs &&... cargs) const &noexcept(is_nothrow_invocable_v< Fn const &, CallArgs..., Args const &... >) -> invoke_result_t< Fn const &, CallArgs..., Args const &... >
 

Public Attributes

tuple_t fn_args_
 

Member Function Documentation

◆ operator()() [1/2]

template<typename Fn , typename... Args>
template<typename... CallArgs>
constexpr auto ranges::detail::bind_back_fn_< Fn, Args >::operator() ( CallArgs &&...  cargs) & -> invoke_result_t<Fn &, CallArgs..., Args &...>
noexcept

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References ranges::tuple_apply.

◆ operator()() [2/2]

template<typename Fn , typename... Args>
template<typename... CallArgs>
constexpr auto ranges::detail::bind_back_fn_< Fn, Args >::operator() ( CallArgs &&...  cargs) const & -> invoke_result_t<Fn const &, CallArgs..., Args const &...>
noexcept

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References ranges::tuple_apply.