halcheck 1.0
Loading...
Searching...
No Matches

◆ handle() [3/3]

template<typename F , typename... Args>
lib::invoke_result_t< F, Args... > halcheck::lib::effect::state::handle ( F func,
Args &&... args )
inline

Invokes a function, handling any effects using this state.

Template Parameters
FThe type of function to execute.
ArgsThe type of arguments to pass to the function.
Parameters
funcThe function to execute.
argsThe arguments to pass to the function.
Returns
The result of invoking the function.

This overload participates in overload resolution only if

Postcondition
this->handle(func, args...) == { auto _ = this->handle(); lib::invoke(func, args...); }