struct invoke_wrapped_invocation_select

Declaration

template <bool IsFusedInvoke>
struct invoke_wrapped_invocation_select { /* full declaration omitted */ };

Description

We use a specialized class here because MSVC has issues with tag dispatching a function because it does semantical checks before matching the tag, which leads to false errors.

Declared at: libs/pika/pack_traversal/include/pika/pack_traversal/detail/unwrap_impl.hpp:169

Method Overview

  • public template <typename C, typename T>static auto apply(C && callable, T && unwrapped) -> decltype(invoke_fused(static_cast<decltype(callable) &&>(callable), static_cast<decltype(unwrapped) &&>(unwrapped)))

Methods

template <typename C, typename T>
static auto apply(C&& callable, T&& unwrapped)
    -> decltype(invoke_fused(
        static_cast<decltype(callable)&&>(
            callable),
        static_cast<decltype(unwrapped)&&>(
            unwrapped)))

Description

Invoke the callable with the tuple argument through invoke_fused

Declared at: libs/pika/pack_traversal/include/pika/pack_traversal/detail/unwrap_impl.hpp:173

Parameters

C&& callable
T&& unwrapped