zip_function#

template<class _Fn>
class zip_function#

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>
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>
inline constexpr decltype(auto) operator()(
_Tuple &&__tuple,
) noexcept(__is_nothrow_invocable<_Fn&, _Tuple>)#

Applies a tuple to the stored functor.