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>())))
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)
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))...))
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)
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)
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