class mapping_helper

Declaration

template <typename Strategy, typename M>
class mapping_helper { /* full declaration omitted */ };

Description

A helper class which applies the mapping or routes the element through

Declared at: libs/pika/pack_traversal/include/pika/pack_traversal/detail/pack_traversal_impl.hpp:690

Method Overview

  • public template <typename T>auto init_traverse(pika::util::detail::strategy_remap_tag, T && element) -> decltype(spreading::unpack_or_void(std::declval<mapping_helper<Strategy, M>>().try_traverse(pika::util::detail::strategy_remap_tag{}, std::declval<T>())))
  • public template <typename T>void init_traverse(pika::util::detail::strategy_traverse_tag, T && element)
  • public template <typename First, typename Second, typename... T>auto init_traverse(pika::util::detail::strategy_remap_tag strategy, First && first, Second && second, T &&... rest) -> decltype(spreading::tupelize_or_void(std::declval<mapping_helper<Strategy, M>>().try_traverse(strategy, static_cast<decltype(first) &&>(first)), std::declval<mapping_helper<Strategy, M>>().try_traverse(strategy, static_cast<decltype(second) &&>(second)), std::declval<mapping_helper<Strategy, M>>().try_traverse(strategy, static_cast<decltype(rest) &&>(rest))...))
  • public template <typename First, typename Second, typename... T>void init_traverse(pika::util::detail::strategy_traverse_tag strategy, First && first, Second && second, T &&... rest)
  • public mapping_helper<Strategy, M>(M mapper)

Methods

template <typename T>
auto init_traverse(
    pika::util::detail::strategy_remap_tag,
    T&& element)
    -> decltype(spreading::unpack_or_void(
        std::declval<
            mapping_helper<Strategy, M>>()
            .try_traverse(
                pika::util::detail::
                    strategy_remap_tag{},
                std::declval<T>())))

Description

\copybrieftry_traverse

Declared at: libs/pika/pack_traversal/include/pika/pack_traversal/detail/pack_traversal_impl.hpp:877

Parameters

pika::util::detail::strategy_remap_tag
T&& element

template <typename T>
void init_traverse(
    pika::util::detail::strategy_traverse_tag,
    T&& element)

Declared at: libs/pika/pack_traversal/include/pika/pack_traversal/detail/pack_traversal_impl.hpp:886

Parameters

pika::util::detail::strategy_traverse_tag
T&& element

template <typename First,
          typename Second,
          typename... T>
auto init_traverse(
    pika::util::detail::strategy_remap_tag
        strategy,
    First&& first,
    Second&& second,
    T&&... rest)
    -> decltype(spreading::tupelize_or_void(
        std::declval<
            mapping_helper<Strategy, M>>()
            .try_traverse(
                strategy,
                static_cast<decltype(first)&&>(
                    first)),
        std::declval<
            mapping_helper<Strategy, M>>()
            .try_traverse(
                strategy,
                static_cast<decltype(second)&&>(
                    second)),
        std::declval<
            mapping_helper<Strategy, M>>()
            .try_traverse(
                strategy,
                static_cast<decltype(rest)&&>(
                    rest))...))

Description

Calls the traversal method for every element in the pack, and returns a tuple containing the remapped content.

Declared at: libs/pika/pack_traversal/include/pika/pack_traversal/detail/pack_traversal_impl.hpp:894

Parameters

pika::util::detail::strategy_remap_tag strategy
First&& first
Second&& second
T&&... rest

template <typename First,
          typename Second,
          typename... T>
void init_traverse(
    pika::util::detail::strategy_traverse_tag
        strategy,
    First&& first,
    Second&& second,
    T&&... rest)

Description

Calls the traversal method for every element in the pack, without preserving the return values of the mapper.

Declared at: libs/pika/pack_traversal/include/pika/pack_traversal/detail/pack_traversal_impl.hpp:913

Parameters

pika::util::detail::strategy_traverse_tag strategy
First&& first
Second&& second
T&&... rest

mapping_helper<Strategy, M>(M mapper)

Declared at: libs/pika/pack_traversal/include/pika/pack_traversal/detail/pack_traversal_impl.hpp:870

Parameters

M mapper