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.