- 3.0.1 core module.
gmock-generated-function-mockers.h File Reference
#include <functional>
#include <utility>
#include "gmock/gmock-spec-builders.h"
#include "gmock/internal/gmock-internal-utils.h"

Go to the source code of this file.

Namespaces

 testing
 
 testing::internal
 

Macros

#define GMOCK_RESULT_(tn, ...)   tn ::testing::internal::Function<__VA_ARGS__>::Result
 
#define GMOCK_ARG_(tn, N, ...)   tn ::testing::internal::Function<__VA_ARGS__>::template Arg<N-1>::type
 
#define GMOCK_MATCHER_(tn, N, ...)   const ::testing::Matcher<GMOCK_ARG_(tn, N, __VA_ARGS__)>&
 
#define GMOCK_MOCKER_(arity, constness, Method)   GTEST_CONCAT_TOKEN_(gmock##constness##arity##_##Method##_, __LINE__)
 
#define GMOCK_METHOD0_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD1_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD2_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD3_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD4_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD5_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD6_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD7_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD8_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD9_(tn, constness, ct, Method, ...)
 
#define GMOCK_METHOD10_(tn, constness, ct, Method, ...)
 
#define MOCK_METHOD0(m, ...)   GMOCK_METHOD0_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD1(m, ...)   GMOCK_METHOD1_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD2(m, ...)   GMOCK_METHOD2_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD3(m, ...)   GMOCK_METHOD3_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD4(m, ...)   GMOCK_METHOD4_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD5(m, ...)   GMOCK_METHOD5_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD6(m, ...)   GMOCK_METHOD6_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD7(m, ...)   GMOCK_METHOD7_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD8(m, ...)   GMOCK_METHOD8_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD9(m, ...)   GMOCK_METHOD9_(, , , m, __VA_ARGS__)
 
#define MOCK_METHOD10(m, ...)   GMOCK_METHOD10_(, , , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD0(m, ...)   GMOCK_METHOD0_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD1(m, ...)   GMOCK_METHOD1_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD2(m, ...)   GMOCK_METHOD2_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD3(m, ...)   GMOCK_METHOD3_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD4(m, ...)   GMOCK_METHOD4_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD5(m, ...)   GMOCK_METHOD5_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD6(m, ...)   GMOCK_METHOD6_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD7(m, ...)   GMOCK_METHOD7_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD8(m, ...)   GMOCK_METHOD8_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD9(m, ...)   GMOCK_METHOD9_(, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD10(m, ...)   GMOCK_METHOD10_(, const, , m, __VA_ARGS__)
 
#define MOCK_METHOD0_T(m, ...)   GMOCK_METHOD0_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD1_T(m, ...)   GMOCK_METHOD1_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD2_T(m, ...)   GMOCK_METHOD2_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD3_T(m, ...)   GMOCK_METHOD3_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD4_T(m, ...)   GMOCK_METHOD4_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD5_T(m, ...)   GMOCK_METHOD5_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD6_T(m, ...)   GMOCK_METHOD6_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD7_T(m, ...)   GMOCK_METHOD7_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD8_T(m, ...)   GMOCK_METHOD8_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD9_T(m, ...)   GMOCK_METHOD9_(typename, , , m, __VA_ARGS__)
 
#define MOCK_METHOD10_T(m, ...)   GMOCK_METHOD10_(typename, , , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD0_T(m, ...)   GMOCK_METHOD0_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD1_T(m, ...)   GMOCK_METHOD1_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD2_T(m, ...)   GMOCK_METHOD2_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD3_T(m, ...)   GMOCK_METHOD3_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD4_T(m, ...)   GMOCK_METHOD4_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD5_T(m, ...)   GMOCK_METHOD5_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD6_T(m, ...)   GMOCK_METHOD6_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD7_T(m, ...)   GMOCK_METHOD7_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD8_T(m, ...)   GMOCK_METHOD8_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD9_T(m, ...)   GMOCK_METHOD9_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD10_T(m, ...)   GMOCK_METHOD10_(typename, const, , m, __VA_ARGS__)
 
#define MOCK_METHOD0_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD0_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD1_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD1_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD2_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD2_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD3_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD3_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD4_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD4_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD5_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD5_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD6_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD6_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD7_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD7_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD8_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD8_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD9_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD9_(, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD10_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD10_(, , ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD0_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD0_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD1_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD1_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD2_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD2_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD3_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD3_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD4_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD4_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD5_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD5_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD6_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD6_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD7_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD7_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD8_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD8_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD9_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD9_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD10_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD10_(, const, ct, m, __VA_ARGS__)
 
#define MOCK_METHOD0_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD0_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD1_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD1_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD2_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD2_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD3_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD3_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD4_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD4_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD5_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD5_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD6_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD6_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD7_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD7_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD8_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD8_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD9_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD9_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_METHOD10_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD10_(typename, , ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD0_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD0_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD1_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD1_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD2_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD2_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD3_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD3_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD4_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD4_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD5_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD5_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD6_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD6_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD7_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD7_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD8_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD8_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD9_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD9_(typename, const, ct, m, __VA_ARGS__)
 
#define MOCK_CONST_METHOD10_T_WITH_CALLTYPE(ct, m, ...)   GMOCK_METHOD10_(typename, const, ct, m, __VA_ARGS__)
 

Functions

template<typename MockType >
const MockType * testing::internal::AdjustConstness_const (const MockType *mock)
 
template<typename MockType >
MockType * testing::internal::AdjustConstness_ (const MockType *mock)
 

Macro Definition Documentation

#define GMOCK_RESULT_ (   tn,
  ... 
)    tn ::testing::internal::Function<__VA_ARGS__>::Result
#define GMOCK_ARG_ (   tn,
  N,
  ... 
)    tn ::testing::internal::Function<__VA_ARGS__>::template Arg<N-1>::type
#define GMOCK_MATCHER_ (   tn,
  N,
  ... 
)    const ::testing::Matcher<GMOCK_ARG_(tn, N, __VA_ARGS__)>&
#define GMOCK_MOCKER_ (   arity,
  constness,
  Method 
)    GTEST_CONCAT_TOKEN_(gmock##constness##arity##_##Method##_, __LINE__)
#define GMOCK_METHOD0_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
Value:
static_assert(0 == \
"MOCK_METHOD<N> must match argument count.");\
GMOCK_RESULT_(tn, __VA_ARGS__) ct Method( \
) constness { \
GMOCK_MOCKER_(0, constness, Method).SetOwnerAndName(this, #Method); \
return GMOCK_MOCKER_(0, constness, Method).Invoke(); \
} \
::testing::MockSpec<__VA_ARGS__> \
gmock_##Method() constness { \
GMOCK_MOCKER_(0, constness, Method).RegisterOwner(this); \
return GMOCK_MOCKER_(0, constness, Method).With(); \
} \
::testing::MockSpec<__VA_ARGS__> gmock_##Method( \
const ::testing::internal::WithoutMatchers&, \
constness ::testing::internal::Function<__VA_ARGS__>* ) const { \
gmock_##Method(); \
} \
mutable ::testing::FunctionMocker<__VA_ARGS__> GMOCK_MOCKER_(0, constness, \
MockType * AdjustConstness_(const MockType *mock)
Definition: gmock-generated-function-mockers.h:100
#define Method
Definition: gmock-spec-builders_test.cc:187
#define GMOCK_RESULT_(tn,...)
Definition: gmock-generated-function-mockers.h:118
Definition: gmock-internal-utils.h:546
#define GMOCK_MOCKER_(arity, constness, Method)
Definition: gmock-generated-function-mockers.h:133
#define GMOCK_METHOD1_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
Value:
static_assert(1 == \
"MOCK_METHOD<N> must match argument count.");\
GMOCK_RESULT_(tn, __VA_ARGS__) ct Method( \
GMOCK_ARG_(tn, 1, __VA_ARGS__) gmock_a1) constness { \
GMOCK_MOCKER_(1, constness, Method).SetOwnerAndName(this, #Method); \
return GMOCK_MOCKER_(1, constness, \
Method).Invoke(::std::forward<GMOCK_ARG_(tn, 1, \
__VA_ARGS__)>(gmock_a1)); \
} \
::testing::MockSpec<__VA_ARGS__> \
gmock_##Method(GMOCK_MATCHER_(tn, 1, __VA_ARGS__) gmock_a1) constness { \
GMOCK_MOCKER_(1, constness, Method).RegisterOwner(this); \
return GMOCK_MOCKER_(1, constness, Method).With(gmock_a1); \
} \
::testing::MockSpec<__VA_ARGS__> gmock_##Method( \
const ::testing::internal::WithoutMatchers&, \
constness ::testing::internal::Function<__VA_ARGS__>* ) const { \
gmock_##Method(::testing::A<GMOCK_ARG_(tn, 1, __VA_ARGS__)>()); \
} \
mutable ::testing::FunctionMocker<__VA_ARGS__> GMOCK_MOCKER_(1, constness, \
#define GMOCK_ARG_(tn, N,...)
Definition: gmock-generated-function-mockers.h:123
MockType * AdjustConstness_(const MockType *mock)
Definition: gmock-generated-function-mockers.h:100
#define Method
Definition: gmock-spec-builders_test.cc:187
#define GMOCK_RESULT_(tn,...)
Definition: gmock-generated-function-mockers.h:118
Definition: gmock-internal-utils.h:546
#define GMOCK_MOCKER_(arity, constness, Method)
Definition: gmock-generated-function-mockers.h:133
#define GMOCK_MATCHER_(tn, N,...)
Definition: gmock-generated-function-mockers.h:128
#define GMOCK_METHOD2_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
Value:
static_assert(2 == \
"MOCK_METHOD<N> must match argument count.");\
GMOCK_RESULT_(tn, __VA_ARGS__) ct Method( \
GMOCK_ARG_(tn, 1, __VA_ARGS__) gmock_a1, GMOCK_ARG_(tn, 2, \
__VA_ARGS__) gmock_a2) constness { \
GMOCK_MOCKER_(2, constness, Method).SetOwnerAndName(this, #Method); \
return GMOCK_MOCKER_(2, constness, \
Method).Invoke(::std::forward<GMOCK_ARG_(tn, 1, \
__VA_ARGS__)>(gmock_a1), \
::std::forward<GMOCK_ARG_(tn, 2, __VA_ARGS__)>(gmock_a2)); \
} \
::testing::MockSpec<__VA_ARGS__> \
gmock_##Method(GMOCK_MATCHER_(tn, 1, __VA_ARGS__) gmock_a1, \
GMOCK_MATCHER_(tn, 2, __VA_ARGS__) gmock_a2) constness { \
GMOCK_MOCKER_(2, constness, Method).RegisterOwner(this); \
return GMOCK_MOCKER_(2, constness, Method).With(gmock_a1, gmock_a2); \
} \
::testing::MockSpec<__VA_ARGS__> gmock_##Method( \
const ::testing::internal::WithoutMatchers&, \
constness ::testing::internal::Function<__VA_ARGS__>* ) const { \
gmock_##Method(::testing::A<GMOCK_ARG_(tn, 1, __VA_ARGS__)>(), \
::testing::A<GMOCK_ARG_(tn, 2, __VA_ARGS__)>()); \
} \
mutable ::testing::FunctionMocker<__VA_ARGS__> GMOCK_MOCKER_(2, constness, \
#define GMOCK_ARG_(tn, N,...)
Definition: gmock-generated-function-mockers.h:123
MockType * AdjustConstness_(const MockType *mock)
Definition: gmock-generated-function-mockers.h:100
#define Method
Definition: gmock-spec-builders_test.cc:187
#define GMOCK_RESULT_(tn,...)
Definition: gmock-generated-function-mockers.h:118
Definition: gmock-internal-utils.h:546
#define GMOCK_MOCKER_(arity, constness, Method)
Definition: gmock-generated-function-mockers.h:133
#define GMOCK_MATCHER_(tn, N,...)
Definition: gmock-generated-function-mockers.h:128
#define GMOCK_METHOD3_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
#define GMOCK_METHOD4_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
#define GMOCK_METHOD5_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
#define GMOCK_METHOD6_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
#define GMOCK_METHOD7_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
#define GMOCK_METHOD8_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
#define GMOCK_METHOD9_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
#define GMOCK_METHOD10_ (   tn,
  constness,
  ct,
  Method,
  ... 
)
#define MOCK_METHOD3 (   m,
  ... 
)    GMOCK_METHOD3_(, , , m, __VA_ARGS__)

Referenced by MockFoo::MockFoo().

#define MOCK_METHOD4 (   m,
  ... 
)    GMOCK_METHOD4_(, , , m, __VA_ARGS__)
#define MOCK_METHOD5 (   m,
  ... 
)    GMOCK_METHOD5_(, , , m, __VA_ARGS__)
#define MOCK_METHOD6 (   m,
  ... 
)    GMOCK_METHOD6_(, , , m, __VA_ARGS__)
#define MOCK_METHOD7 (   m,
  ... 
)    GMOCK_METHOD7_(, , , m, __VA_ARGS__)
#define MOCK_METHOD8 (   m,
  ... 
)    GMOCK_METHOD8_(, , , m, __VA_ARGS__)
#define MOCK_METHOD9 (   m,
  ... 
)    GMOCK_METHOD9_(, , , m, __VA_ARGS__)
#define MOCK_METHOD10 (   m,
  ... 
)    GMOCK_METHOD10_(, , , m, __VA_ARGS__)
#define MOCK_CONST_METHOD0 (   m,
  ... 
)    GMOCK_METHOD0_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD1 (   m,
  ... 
)    GMOCK_METHOD1_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD2 (   m,
  ... 
)    GMOCK_METHOD2_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD3 (   m,
  ... 
)    GMOCK_METHOD3_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD4 (   m,
  ... 
)    GMOCK_METHOD4_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD5 (   m,
  ... 
)    GMOCK_METHOD5_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD6 (   m,
  ... 
)    GMOCK_METHOD6_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD7 (   m,
  ... 
)    GMOCK_METHOD7_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD8 (   m,
  ... 
)    GMOCK_METHOD8_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD9 (   m,
  ... 
)    GMOCK_METHOD9_(, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD10 (   m,
  ... 
)    GMOCK_METHOD10_(, const, , m, __VA_ARGS__)
#define MOCK_METHOD0_T (   m,
  ... 
)    GMOCK_METHOD0_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD1_T (   m,
  ... 
)    GMOCK_METHOD1_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD2_T (   m,
  ... 
)    GMOCK_METHOD2_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD3_T (   m,
  ... 
)    GMOCK_METHOD3_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD4_T (   m,
  ... 
)    GMOCK_METHOD4_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD5_T (   m,
  ... 
)    GMOCK_METHOD5_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD6_T (   m,
  ... 
)    GMOCK_METHOD6_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD7_T (   m,
  ... 
)    GMOCK_METHOD7_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD8_T (   m,
  ... 
)    GMOCK_METHOD8_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD9_T (   m,
  ... 
)    GMOCK_METHOD9_(typename, , , m, __VA_ARGS__)
#define MOCK_METHOD10_T (   m,
  ... 
)    GMOCK_METHOD10_(typename, , , m, __VA_ARGS__)
#define MOCK_CONST_METHOD0_T (   m,
  ... 
)    GMOCK_METHOD0_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD1_T (   m,
  ... 
)    GMOCK_METHOD1_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD2_T (   m,
  ... 
)    GMOCK_METHOD2_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD3_T (   m,
  ... 
)    GMOCK_METHOD3_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD4_T (   m,
  ... 
)    GMOCK_METHOD4_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD5_T (   m,
  ... 
)    GMOCK_METHOD5_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD6_T (   m,
  ... 
)    GMOCK_METHOD6_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD7_T (   m,
  ... 
)    GMOCK_METHOD7_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD8_T (   m,
  ... 
)    GMOCK_METHOD8_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD9_T (   m,
  ... 
)    GMOCK_METHOD9_(typename, const, , m, __VA_ARGS__)
#define MOCK_CONST_METHOD10_T (   m,
  ... 
)    GMOCK_METHOD10_(typename, const, , m, __VA_ARGS__)
#define MOCK_METHOD0_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD0_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD1_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD1_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD2_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD2_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD3_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD3_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD4_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD4_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD5_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD5_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD6_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD6_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD7_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD7_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD8_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD8_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD9_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD9_(, , ct, m, __VA_ARGS__)
#define MOCK_METHOD10_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD10_(, , ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD0_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD0_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD1_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD1_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD2_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD2_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD3_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD3_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD4_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD4_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD5_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD5_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD6_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD6_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD7_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD7_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD8_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD8_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD9_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD9_(, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD10_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD10_(, const, ct, m, __VA_ARGS__)
#define MOCK_METHOD0_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD0_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD1_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD1_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD2_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD2_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD3_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD3_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD4_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD4_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD5_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD5_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD6_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD6_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD7_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD7_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD8_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD8_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD9_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD9_(typename, , ct, m, __VA_ARGS__)
#define MOCK_METHOD10_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD10_(typename, , ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD0_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD0_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD1_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD1_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD2_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD2_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD3_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD3_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD4_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD4_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD5_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD5_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD6_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD6_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD7_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD7_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD8_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD8_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD9_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD9_(typename, const, ct, m, __VA_ARGS__)
#define MOCK_CONST_METHOD10_T_WITH_CALLTYPE (   ct,
  m,
  ... 
)    GMOCK_METHOD10_(typename, const, ct, m, __VA_ARGS__)