VCCC  2024.05
VisualCamp Common C++ library
invoke, inivoke_r

invokes any Callable object with given arguments More...

Detailed Description

Invoke the Callable object f with the parameters args as by INVOKE(std::forward<F>(f), std::forward<Args>(args)...). This overload participates in overload resolution only if vccc::is_invocable<F, Args...>value is true.

Functions

template<typename F , typename ... Args>
constexpr invoke_result_t< F, Args... > invoke (F &&f, Args &&... args) noexcept(is_nothrow_invocable< F, Args... >::value)
 
template<typename R , typename F , typename ... Args>
constexpr std::enable_if_t< is_invocable_r< R, F, Args... >::value, R > invoke_r (F &&f, Args &&... args) noexcept(is_nothrow_invocable_r< R, F, Args... >::value)
 

Function Documentation

◆ invoke()

constexpr invoke_result_t<F, Args...> vccc::invoke ( F &&  f,
Args &&...  args 
)
constexprnoexcept

◆ invoke_r()

constexpr std::enable_if_t<is_invocable_r<R, F, Args...>::value, R> vccc::invoke_r ( F &&  f,
Args &&...  args 
)
constexprnoexcept

Invoke the Callable object f with the parameters args as by INVOKE<R>(std::forward<F>(f), std::forward<Args>(args)...). This overload participates in overload resolution only if vccc::is_invocable_r<R, F, Args...>value is true.