mimic++ v5
Loading...
Searching...
No Matches
mimicpp::expectation_policies::ApplyArgsAction< Action, Projection, indices > Class Template Reference

#include <ExpectationPolicies.hpp>

Public Types

template<std::size_t index, typename... Args>
using ArgListElementT = std::tuple_element_t<index, std::tuple<Args...>>
 
template<std::size_t index, typename... Args>
using ProjectedArgListElementT = Projection<ArgListElementT<index, Args...>>
 

Public Member Functions

constexpr ApplyArgsAction (Action action={}) noexcept(std::is_nothrow_move_constructible_v< Action >)
 
template<typename Return , typename... Args>
requires (... && (indices < sizeof...(Args))) && std::invocable< const Action&, ProjectedArgListElementT<indices, Args...>...>
constexpr decltype(auto) operator() (const call::Info< Return, Args... > &callInfo) const noexcept(std::is_nothrow_invocable_v< const Action &, ProjectedArgListElementT< indices, Args... >... >)
 

Member Typedef Documentation

◆ ArgListElementT

template<typename Action , template< typename > typename Projection, std::size_t... indices>
template<std::size_t index, typename... Args>
using mimicpp::expectation_policies::ApplyArgsAction< Action, Projection, indices >::ArgListElementT = std::tuple_element_t<index, std::tuple<Args...>>

◆ ProjectedArgListElementT

template<typename Action , template< typename > typename Projection, std::size_t... indices>
template<std::size_t index, typename... Args>
using mimicpp::expectation_policies::ApplyArgsAction< Action, Projection, indices >::ProjectedArgListElementT = Projection<ArgListElementT<index, Args...>>

Constructor & Destructor Documentation

◆ ApplyArgsAction()

template<typename Action , template< typename > typename Projection, std::size_t... indices>
mimicpp::expectation_policies::ApplyArgsAction< Action, Projection, indices >::ApplyArgsAction ( Action action = {})
inlineexplicitnodiscardconstexprnoexcept

Member Function Documentation

◆ operator()()

template<typename Action , template< typename > typename Projection, std::size_t... indices>
template<typename Return , typename... Args>
requires (... && (indices < sizeof...(Args))) && std::invocable< const Action&, ProjectedArgListElementT<indices, Args...>...>
decltype(auto) mimicpp::expectation_policies::ApplyArgsAction< Action, Projection, indices >::operator() ( const call::Info< Return, Args... > & callInfo) const
inlineconstexprnoexcept

The documentation for this class was generated from the following file: