template <typename InnerAction, size_t... I>

struct WithArgsAction

Defined at line 1416 of file ../../third_party/googletest/src/googlemock/include/gmock/gmock-actions.h

Public Members

InnerAction inner_action

Public Methods

template <typename R, typename... Args, typename std::enable_if<
                              std::is_convertible<InnerAction,
                                                  // Unfortunately we can't use the InnerSignature
                                                  // alias here; MSVC complains about the I
                                                  // parameter pack not being expanded (error C3520)
                                                  // despite it being expanded in the type alias.
                                                  // TupleElement is also an MSVC workaround.
                                                  // See its definition for details.
                                                  OnceAction<R(internal::TupleElement<
                                                               I, std::tuple<Args...>>...)>>::value,
                              int>::type = 0>
OnceAction<R (Args...)> operator testing::OnceAction<type-parameter-1-0 (type-parameter-1-1...)> ()

Unfortunately we can't use the InnerSignature

alias here; MSVC complains about the I

parameter pack not being expanded (error C3520)

despite it being expanded in the type alias.

TupleElement is also an MSVC workaround.

See its definition for details.

Defined at line 1444 of file ../../third_party/googletest/src/googlemock/include/gmock/gmock-actions.h

template <typename R, typename... Args, typename std::enable_if<
                              std::is_convertible<const InnerAction&,
                                                  OnceAction<R(internal::TupleElement<
                                                               I, std::tuple<Args...>>...)>>::value,
                              int>::type = 0>
OnceAction<R (Args...)> operator testing::OnceAction<type-parameter-1-0 (type-parameter-1-1...)> ()

As above, but in the case where we want to create a OnceAction from a const

WithArgsAction. This is fine as long as the inner action doesn't need to

move any of its state to create a OnceAction.

Defined at line 1468 of file ../../third_party/googletest/src/googlemock/include/gmock/gmock-actions.h

template <typename R, typename... Args, typename std::enable_if<
                              std::is_convertible<const InnerAction&,
                                                  // Unfortunately we can't use the InnerSignature
                                                  // alias here; MSVC complains about the I
                                                  // parameter pack not being expanded (error C3520)
                                                  // despite it being expanded in the type alias.
                                                  // TupleElement is also an MSVC workaround.
                                                  // See its definition for details.
                                                  Action<R(internal::TupleElement<
                                                           I, std::tuple<Args...>>...)>>::value,
                              int>::type = 0>
Action<R (Args...)> operator testing::Action<type-parameter-1-0 (type-parameter-1-1...)> ()

Unfortunately we can't use the InnerSignature

alias here; MSVC complains about the I

parameter pack not being expanded (error C3520)

despite it being expanded in the type alias.

TupleElement is also an MSVC workaround.

See its definition for details.

Defined at line 1495 of file ../../third_party/googletest/src/googlemock/include/gmock/gmock-actions.h