Template Struct InvokeImpl¶
Defined in File invoke_cpu_impl_.hpp
Struct Documentation¶
-
template<std::size_t
I>
structripple::kernel::detail::InvokeImpl¶ Implementation struct to invoke a callable over a number of dimensions.
- Template Parameters
I: The index of the dimension to invoke over.
Public Static Functions
-
template<typename
Iterator, typenameCallable, typename ...Args>
autoinvoke(Iterator &&it, Callable &&callable, Args&&... args) -> void¶ Invokes the callable on the iterator with the args.
- Parameters
it: The iterator to pass to the callable.callable: The callable object.args: Arguments for the callable.
- Template Parameters
Iterator: The type of the iterator.Callable: The callable object to invoke.Args: The type of the arguments for the invocation.
-
template<typename
Iterator, typenameExecImpl, typenameCallable, typename ...Args, exec_param_enable_t<ExecImpl> = 0>
autoinvoke_exec_params(Iterator &&it, ExecImpl &&exec_params, Callable &&callable, Args&&... args) -> void¶ Invokes the callable on the given iterator with the given args and execution params.
- Parameters
it: The iterator to pass to the callable.exec_params: The execution parameters.callable: The callable object.args: Arguments for the callable.
- Template Parameters
Iterator: The type of the iterator.ExecImpl: The type of the execution params.Callable: The callable object to invoke.Args: The type of the arguments for the invocation.
-
template<typename
Iterator1, typenameIterator2, typenameCallable, typename ...Args, non_exec_param_enable_t<Iterator2> = 0>
autoinvoke_multi(Iterator1 &&it_1, Iterator2 &&it_2, Callable &&callable, Args&&... args) -> void¶ == [multiple blocks] ———————————————=
Invokes the callable, passing the iterators as the first and second arguments, and then forwarding the args.
- Parameters
it_1: The first iterator to pass to the callable.it_2: The second iterator to pass to the callable.callable: The callable object.args: Arguments for the callable.
- Template Parameters
Iterator1: The type of the first iterator.Iterator2: The type of the second iterator.Callable: The callable object to invoke.Args: The type of the arguments for the invocation.