Adaptor that transforms a functor taking arguments of types Ts… into one accepting a tuple<Ts...>
- Template Parameters:
_Fn – The functor to wrap
Public Functions
-
template<class _Fn2 = _Fn, ::cuda::std::enable_if_t<::cuda::std::default_initializable<_Fn2>, int> = 0>
inline constexpr zip_function(
) noexcept(::cuda::std::is_nothrow_default_constructible_v<_Fn2>)
default construct a zip_function
-
inline constexpr zip_function(
- const _Fn &__fun,
) noexcept(::cuda::std::is_nothrow_copy_constructible_v<_Fn>)
construct a zip_function from a functor
-
inline constexpr zip_function(
- _Fn &&__fun,
) noexcept(::cuda::std::is_nothrow_move_constructible_v<_Fn>)
construct a zip_function from a functor
-
template<class _Tuple, ::cuda::std::enable_if_t _Tuple>
inline constexpr decltype(auto) operator()(
- _Tuple &&__tuple,
) const noexcept(__is_nothrow_invocable<const _Fn&, _Tuple>)
Applies a tuple to the stored functor.
- Parameters:
__tuple – The tuple of arguments to be passed
-
template<class _Tuple, ::cuda::std::enable_if_t _Tuple>
inline constexpr decltype(auto) operator()(
- _Tuple &&__tuple,
) noexcept(__is_nothrow_invocable<_Fn&, _Tuple>)
Applies a tuple to the stored functor.