| 
						
						
						
						 |  | @ -1,4 +1,6 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | // This file was GENERATED by a script.  DO NOT EDIT BY HAND!!!
 |  |  |  | // This file was GENERATED by command:
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | //     pump.py gmock-generated-actions.h.pump
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | // DO NOT EDIT BY HAND!!!
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // Copyright 2007, Google Inc.
 |  |  |  | // Copyright 2007, Google Inc.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // All rights reserved.
 |  |  |  | // All rights reserved.
 | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -45,8 +47,8 @@ namespace testing { | 
			
		
	
		
		
			
				
					
					|  |  |  | namespace internal { |  |  |  | namespace internal { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // InvokeHelper<F> knows how to unpack an N-tuple and invoke an N-ary
 |  |  |  | // InvokeHelper<F> knows how to unpack an N-tuple and invoke an N-ary
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // function or method with the unpacked values, where F is a function
 |  |  |  | // function, method, or callback with the unpacked values, where F is
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | // type that takes N arguments.
 |  |  |  | // a function type that takes N arguments.
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | template <typename Result, typename ArgumentTuple> |  |  |  | template <typename Result, typename ArgumentTuple> | 
			
		
	
		
		
			
				
					
					|  |  |  | class InvokeHelper; |  |  |  | class InvokeHelper; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -64,6 +66,12 @@ class InvokeHelper<R, ::testing::tuple<> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         const ::testing::tuple<>&) { |  |  |  |                         const ::testing::tuple<>&) { | 
			
		
	
		
		
			
				
					
					|  |  |  |            return (obj_ptr->*method_ptr)(); |  |  |  |            return (obj_ptr->*method_ptr)(); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   template <typename CallbackType> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   static R InvokeCallback(CallbackType* callback, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                           const ::testing::tuple<>&) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |            return callback->Run(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1> |  |  |  | template <typename R, typename A1> | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -80,6 +88,12 @@ class InvokeHelper<R, ::testing::tuple<A1> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         const ::testing::tuple<A1>& args) { |  |  |  |                         const ::testing::tuple<A1>& args) { | 
			
		
	
		
		
			
				
					
					|  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args)); |  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   template <typename CallbackType> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   static R InvokeCallback(CallbackType* callback, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                           const ::testing::tuple<A1>& args) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |            return callback->Run(get<0>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1, typename A2> |  |  |  | template <typename R, typename A1, typename A2> | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -96,6 +110,12 @@ class InvokeHelper<R, ::testing::tuple<A1, A2> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         const ::testing::tuple<A1, A2>& args) { |  |  |  |                         const ::testing::tuple<A1, A2>& args) { | 
			
		
	
		
		
			
				
					
					|  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args)); |  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   template <typename CallbackType> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   static R InvokeCallback(CallbackType* callback, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                           const ::testing::tuple<A1, A2>& args) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |            return callback->Run(get<0>(args), get<1>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1, typename A2, typename A3> |  |  |  | template <typename R, typename A1, typename A2, typename A3> | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -113,6 +133,12 @@ class InvokeHelper<R, ::testing::tuple<A1, A2, A3> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args), |  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<2>(args)); |  |  |  |                get<2>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   template <typename CallbackType> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   static R InvokeCallback(CallbackType* callback, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                           const ::testing::tuple<A1, A2, A3>& args) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |            return callback->Run(get<0>(args), get<1>(args), get<2>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4> |  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4> | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -132,6 +158,13 @@ class InvokeHelper<R, ::testing::tuple<A1, A2, A3, A4> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args), |  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<2>(args), get<3>(args)); |  |  |  |                get<2>(args), get<3>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   template <typename CallbackType> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   static R InvokeCallback(CallbackType* callback, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                           const ::testing::tuple<A1, A2, A3, A4>& args) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |            return callback->Run(get<0>(args), get<1>(args), get<2>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                get<3>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, |  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -152,6 +185,13 @@ class InvokeHelper<R, ::testing::tuple<A1, A2, A3, A4, A5> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args), |  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<2>(args), get<3>(args), get<4>(args)); |  |  |  |                get<2>(args), get<3>(args), get<4>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   template <typename CallbackType> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   static R InvokeCallback(CallbackType* callback, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                           const ::testing::tuple<A1, A2, A3, A4, A5>& args) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |            return callback->Run(get<0>(args), get<1>(args), get<2>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                get<3>(args), get<4>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, |  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -172,6 +212,9 @@ class InvokeHelper<R, ::testing::tuple<A1, A2, A3, A4, A5, A6> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args), |  |  |  |            return (obj_ptr->*method_ptr)(get<0>(args), get<1>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args)); |  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // There is no InvokeCallback() for 6-tuples, as google3 callbacks
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // support 5 arguments at most.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, |  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -194,6 +237,9 @@ class InvokeHelper<R, ::testing::tuple<A1, A2, A3, A4, A5, A6, A7> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args), |  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<6>(args)); |  |  |  |                get<6>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // There is no InvokeCallback() for 7-tuples, as google3 callbacks
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // support 5 arguments at most.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, |  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -217,6 +263,9 @@ class InvokeHelper<R, ::testing::tuple<A1, A2, A3, A4, A5, A6, A7, A8> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args), |  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<6>(args), get<7>(args)); |  |  |  |                get<6>(args), get<7>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // There is no InvokeCallback() for 8-tuples, as google3 callbacks
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // support 5 arguments at most.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, |  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -240,6 +289,9 @@ class InvokeHelper<R, ::testing::tuple<A1, A2, A3, A4, A5, A6, A7, A8, A9> > { | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args), |  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<6>(args), get<7>(args), get<8>(args)); |  |  |  |                get<6>(args), get<7>(args), get<8>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // There is no InvokeCallback() for 9-tuples, as google3 callbacks
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // support 5 arguments at most.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, |  |  |  | template <typename R, typename A1, typename A2, typename A3, typename A4, | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -265,6 +317,34 @@ class InvokeHelper<R, ::testing::tuple<A1, A2, A3, A4, A5, A6, A7, A8, A9, | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args), |  |  |  |                get<2>(args), get<3>(args), get<4>(args), get<5>(args), | 
			
		
	
		
		
			
				
					
					|  |  |  |                get<6>(args), get<7>(args), get<8>(args), get<9>(args)); |  |  |  |                get<6>(args), get<7>(args), get<8>(args), get<9>(args)); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // There is no InvokeCallback() for 10-tuples, as google3 callbacks
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // support 5 arguments at most.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | // Implements the Invoke(callback) action.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | template <typename CallbackType> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | class InvokeCallbackAction { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  public: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // The c'tor takes ownership of the callback.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   explicit InvokeCallbackAction(CallbackType* callback) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       : callback_(callback) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     callback->CheckIsRepeatable();  // Makes sure the callback is permanent.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // This type conversion operator template allows Invoke(callback) to
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // be used wherever the callback's type is compatible with that of
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // the mock function, i.e. if the mock function's arguments can be
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // implicitly converted to the callback's arguments and the
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // callback's result can be implicitly converted to the mock
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // function's result.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   template <typename Result, typename ArgumentTuple> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   Result Perform(const ArgumentTuple& args) const { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     return InvokeHelper<Result, ArgumentTuple>::InvokeCallback( | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         callback_.get(), args); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  private: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   const linked_ptr<CallbackType> callback_; | 
			
		
	
		
		
			
				
					
					|  |  |  | }; |  |  |  | }; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // An INTERNAL macro for extracting the type of a tuple field.  It's
 |  |  |  | // An INTERNAL macro for extracting the type of a tuple field.  It's
 | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1073,52 +1153,90 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_0_VALUE_PARAMS()\ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_0_VALUE_PARAMS()\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     () |  |  |  |     () | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_1_VALUE_PARAMS(p0)\ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_1_VALUE_PARAMS(p0)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0) : p0(gmock_p0) |  |  |  |     (p0##_type gmock_p0) : p0(::testing::internal::move(gmock_p0)) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_2_VALUE_PARAMS(p0, p1)\ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_2_VALUE_PARAMS(p0, p1)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1) : p0(gmock_p0), p1(gmock_p1) |  |  |  |     (p0##_type gmock_p0, \ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p1##_type gmock_p1) : p0(::testing::internal::move(gmock_p0)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p1(::testing::internal::move(gmock_p1)) | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_3_VALUE_PARAMS(p0, p1, p2)\ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_3_VALUE_PARAMS(p0, p1, p2)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p2##_type gmock_p2) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2) |  |  |  |         p2##_type gmock_p2) : p0(::testing::internal::move(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p1(::testing::internal::move(gmock_p1)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::move(gmock_p2)) | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_4_VALUE_PARAMS(p0, p1, p2, p3)\ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_4_VALUE_PARAMS(p0, p1, p2, p3)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p3##_type gmock_p3) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |         p3##_type gmock_p3) : p0(::testing::internal::move(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p3(gmock_p3) |  |  |  |         p1(::testing::internal::move(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::move(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::move(gmock_p3)) | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_5_VALUE_PARAMS(p0, p1, p2, p3, p4)\ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_5_VALUE_PARAMS(p0, p1, p2, p3, p4)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4) : p0(gmock_p0), p1(gmock_p1), \ |  |  |  |         p3##_type gmock_p3, \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p2(gmock_p2), p3(gmock_p3), p4(gmock_p4) |  |  |  |         p4##_type gmock_p4) : p0(::testing::internal::move(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p1(::testing::internal::move(gmock_p1)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::move(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::move(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::move(gmock_p4)) | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_6_VALUE_PARAMS(p0, p1, p2, p3, p4, p5)\ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_6_VALUE_PARAMS(p0, p1, p2, p3, p4, p5)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, \ |  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p5##_type gmock_p5) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |         p5##_type gmock_p5) : p0(::testing::internal::move(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p3(gmock_p3), p4(gmock_p4), p5(gmock_p5) |  |  |  |         p1(::testing::internal::move(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::move(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::move(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::move(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::move(gmock_p5)) | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_7_VALUE_PARAMS(p0, p1, p2, p3, p4, p5, p6)\ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_7_VALUE_PARAMS(p0, p1, p2, p3, p4, p5, p6)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ |  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p6##_type gmock_p6) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |         p6##_type gmock_p6) : p0(::testing::internal::move(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6) |  |  |  |         p1(::testing::internal::move(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::move(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::move(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::move(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::move(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p6(::testing::internal::move(gmock_p6)) | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_8_VALUE_PARAMS(p0, p1, p2, p3, p4, p5, p6, p7)\ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_8_VALUE_PARAMS(p0, p1, p2, p3, p4, p5, p6, p7)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ |  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p6##_type gmock_p6, p7##_type gmock_p7) : p0(gmock_p0), p1(gmock_p1), \ |  |  |  |         p6##_type gmock_p6, \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p2(gmock_p2), p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), \ |  |  |  |         p7##_type gmock_p7) : p0(::testing::internal::move(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p7(gmock_p7) |  |  |  |         p1(::testing::internal::move(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::move(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::move(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::move(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::move(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p6(::testing::internal::move(gmock_p6)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p7(::testing::internal::move(gmock_p7)) | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_9_VALUE_PARAMS(p0, p1, p2, p3, p4, p5, p6, \ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_9_VALUE_PARAMS(p0, p1, p2, p3, p4, p5, p6, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |     p7, p8)\ |  |  |  |     p7, p8)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ |  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p6##_type gmock_p6, p7##_type gmock_p7, \ |  |  |  |         p6##_type gmock_p6, p7##_type gmock_p7, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p8##_type gmock_p8) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |         p8##_type gmock_p8) : p0(::testing::internal::move(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), p7(gmock_p7), \ |  |  |  |         p1(::testing::internal::move(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p8(gmock_p8) |  |  |  |         p2(::testing::internal::move(gmock_p2)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::move(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::move(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::move(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p6(::testing::internal::move(gmock_p6)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p7(::testing::internal::move(gmock_p7)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p8(::testing::internal::move(gmock_p8)) | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_INIT_AND_10_VALUE_PARAMS(p0, p1, p2, p3, p4, p5, p6, \ |  |  |  | #define GMOCK_INTERNAL_INIT_AND_10_VALUE_PARAMS(p0, p1, p2, p3, p4, p5, p6, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |     p7, p8, p9)\ |  |  |  |     p7, p8, p9)\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |     (p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ |  |  |  |         p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p6##_type gmock_p6, p7##_type gmock_p7, p8##_type gmock_p8, \ |  |  |  |         p6##_type gmock_p6, p7##_type gmock_p7, p8##_type gmock_p8, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p9##_type gmock_p9) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |         p9##_type gmock_p9) : p0(::testing::internal::move(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), p7(gmock_p7), \ |  |  |  |         p1(::testing::internal::move(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p8(gmock_p8), p9(gmock_p9) |  |  |  |         p2(::testing::internal::move(gmock_p2)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::move(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::move(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::move(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p6(::testing::internal::move(gmock_p6)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p7(::testing::internal::move(gmock_p7)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p8(::testing::internal::move(gmock_p8)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p9(::testing::internal::move(gmock_p9)) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // Declares the fields for storing the value parameters.
 |  |  |  | // Declares the fields for storing the value parameters.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | #define GMOCK_INTERNAL_DEFN_AND_0_VALUE_PARAMS() |  |  |  | #define GMOCK_INTERNAL_DEFN_AND_0_VALUE_PARAMS() | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1354,7 +1472,8 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |   template <typename p0##_type>\ |  |  |  |   template <typename p0##_type>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |   class name##ActionP {\ |  |  |  |   class name##ActionP {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |    public:\ |  |  |  |    public:\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     explicit name##ActionP(p0##_type gmock_p0) : p0(gmock_p0) {}\ |  |  |  |     explicit name##ActionP(p0##_type gmock_p0) : \ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p0(::testing::internal::forward<p0##_type>(gmock_p0)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1362,7 +1481,8 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |       typedef typename ::testing::internal::Function<F>::Result return_type;\ |  |  |  |       typedef typename ::testing::internal::Function<F>::Result return_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ |  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ | 
			
		
	
		
		
			
				
					
					|  |  |  |           args_type;\ |  |  |  |           args_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       explicit gmock_Impl(p0##_type gmock_p0) : p0(gmock_p0) {}\ |  |  |  |       explicit gmock_Impl(p0##_type gmock_p0) : \ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p0(::testing::internal::forward<p0##_type>(gmock_p0)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1404,8 +1524,9 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |   template <typename p0##_type, typename p1##_type>\ |  |  |  |   template <typename p0##_type, typename p1##_type>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |   class name##ActionP2 {\ |  |  |  |   class name##ActionP2 {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |    public:\ |  |  |  |    public:\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     name##ActionP2(p0##_type gmock_p0, p1##_type gmock_p1) : p0(gmock_p0), \ |  |  |  |     name##ActionP2(p0##_type gmock_p0, \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p1(gmock_p1) {}\ |  |  |  |         p1##_type gmock_p1) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p1(::testing::internal::forward<p1##_type>(gmock_p1)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1413,8 +1534,9 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |       typedef typename ::testing::internal::Function<F>::Result return_type;\ |  |  |  |       typedef typename ::testing::internal::Function<F>::Result return_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ |  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ | 
			
		
	
		
		
			
				
					
					|  |  |  |           args_type;\ |  |  |  |           args_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1) : p0(gmock_p0), \ |  |  |  |       gmock_Impl(p0##_type gmock_p0, \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p1(gmock_p1) {}\ |  |  |  |           p1##_type gmock_p1) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p1(::testing::internal::forward<p1##_type>(gmock_p1)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1460,7 +1582,9 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |   class name##ActionP3 {\ |  |  |  |   class name##ActionP3 {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |    public:\ |  |  |  |    public:\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     name##ActionP3(p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |     name##ActionP3(p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p2##_type gmock_p2) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2) {}\ |  |  |  |         p2##_type gmock_p2) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::forward<p2##_type>(gmock_p2)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1469,7 +1593,9 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ |  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ | 
			
		
	
		
		
			
				
					
					|  |  |  |           args_type;\ |  |  |  |           args_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p2##_type gmock_p2) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2) {}\ |  |  |  |           p2##_type gmock_p2) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p2(::testing::internal::forward<p2##_type>(gmock_p2)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1519,8 +1645,11 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |   class name##ActionP4 {\ |  |  |  |   class name##ActionP4 {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |    public:\ |  |  |  |    public:\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     name##ActionP4(p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |     name##ActionP4(p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3) : p0(gmock_p0), p1(gmock_p1), \ |  |  |  |         p2##_type gmock_p2, \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p2(gmock_p2), p3(gmock_p3) {}\ |  |  |  |         p3##_type gmock_p3) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::forward<p3##_type>(gmock_p3)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1529,8 +1658,10 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ |  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ | 
			
		
	
		
		
			
				
					
					|  |  |  |           args_type;\ |  |  |  |           args_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p3##_type gmock_p3) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |           p3##_type gmock_p3) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p3(gmock_p3) {}\ |  |  |  |           p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p3(::testing::internal::forward<p3##_type>(gmock_p3)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1587,8 +1718,11 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |    public:\ |  |  |  |    public:\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     name##ActionP5(p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |     name##ActionP5(p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, \ |  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p4##_type gmock_p4) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |         p4##_type gmock_p4) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p3(gmock_p3), p4(gmock_p4) {}\ |  |  |  |         p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::forward<p4##_type>(gmock_p4)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1597,8 +1731,12 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ |  |  |  |       typedef typename ::testing::internal::Function<F>::ArgumentTuple\ | 
			
		
	
		
		
			
				
					
					|  |  |  |           args_type;\ |  |  |  |           args_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4) : p0(gmock_p0), \ |  |  |  |           p3##_type gmock_p3, \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p1(gmock_p1), p2(gmock_p2), p3(gmock_p3), p4(gmock_p4) {}\ |  |  |  |           p4##_type gmock_p4) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p4(::testing::internal::forward<p4##_type>(gmock_p4)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1657,8 +1795,12 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |    public:\ |  |  |  |    public:\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     name##ActionP6(p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |     name##ActionP6(p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ |  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p5##_type gmock_p5) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |         p5##_type gmock_p5) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p3(gmock_p3), p4(gmock_p4), p5(gmock_p5) {}\ |  |  |  |         p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::forward<p5##_type>(gmock_p5)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1668,8 +1810,12 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |           args_type;\ |  |  |  |           args_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, \ |  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p5##_type gmock_p5) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |           p5##_type gmock_p5) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p3(gmock_p3), p4(gmock_p4), p5(gmock_p5) {}\ |  |  |  |           p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p5(::testing::internal::forward<p5##_type>(gmock_p5)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1731,9 +1877,14 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |    public:\ |  |  |  |    public:\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     name##ActionP7(p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |     name##ActionP7(p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ |  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p5##_type gmock_p5, p6##_type gmock_p6) : p0(gmock_p0), p1(gmock_p1), \ |  |  |  |         p5##_type gmock_p5, \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p2(gmock_p2), p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), \ |  |  |  |         p6##_type gmock_p6) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p6(gmock_p6) {}\ |  |  |  |         p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::forward<p5##_type>(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p6(::testing::internal::forward<p6##_type>(gmock_p6)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1743,8 +1894,13 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |           args_type;\ |  |  |  |           args_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ |  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p6##_type gmock_p6) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |           p6##_type gmock_p6) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6) {}\ |  |  |  |           p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p5(::testing::internal::forward<p5##_type>(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p6(::testing::internal::forward<p6##_type>(gmock_p6)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1813,9 +1969,14 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |     name##ActionP8(p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |     name##ActionP8(p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ |  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p5##_type gmock_p5, p6##_type gmock_p6, \ |  |  |  |         p5##_type gmock_p5, p6##_type gmock_p6, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p7##_type gmock_p7) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |         p7##_type gmock_p7) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), \ |  |  |  |         p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p7(gmock_p7) {}\ |  |  |  |         p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::forward<p5##_type>(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p6(::testing::internal::forward<p6##_type>(gmock_p6)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p7(::testing::internal::forward<p7##_type>(gmock_p7)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1825,9 +1986,15 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |           args_type;\ |  |  |  |           args_type;\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ |  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p6##_type gmock_p6, p7##_type gmock_p7) : p0(gmock_p0), \ |  |  |  |           p6##_type gmock_p6, \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p1(gmock_p1), p2(gmock_p2), p3(gmock_p3), p4(gmock_p4), \ |  |  |  |           p7##_type gmock_p7) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p5(gmock_p5), p6(gmock_p6), p7(gmock_p7) {}\ |  |  |  |           p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p5(::testing::internal::forward<p5##_type>(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p6(::testing::internal::forward<p6##_type>(gmock_p6)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p7(::testing::internal::forward<p7##_type>(gmock_p7)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1900,9 +2067,15 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |     name##ActionP9(p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |     name##ActionP9(p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ |  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p5##_type gmock_p5, p6##_type gmock_p6, p7##_type gmock_p7, \ |  |  |  |         p5##_type gmock_p5, p6##_type gmock_p6, p7##_type gmock_p7, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p8##_type gmock_p8) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |         p8##_type gmock_p8) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), p7(gmock_p7), \ |  |  |  |         p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p8(gmock_p8) {}\ |  |  |  |         p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::forward<p5##_type>(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p6(::testing::internal::forward<p6##_type>(gmock_p6)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p7(::testing::internal::forward<p7##_type>(gmock_p7)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p8(::testing::internal::forward<p8##_type>(gmock_p8)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1913,9 +2086,15 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ |  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p6##_type gmock_p6, p7##_type gmock_p7, \ |  |  |  |           p6##_type gmock_p6, p7##_type gmock_p7, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p8##_type gmock_p8) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |           p8##_type gmock_p8) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), \ |  |  |  |           p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p7(gmock_p7), p8(gmock_p8) {}\ |  |  |  |           p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p5(::testing::internal::forward<p5##_type>(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p6(::testing::internal::forward<p6##_type>(gmock_p6)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p7(::testing::internal::forward<p7##_type>(gmock_p7)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p8(::testing::internal::forward<p8##_type>(gmock_p8)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -1992,9 +2171,17 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |     name##ActionP10(p0##_type gmock_p0, p1##_type gmock_p1, \ |  |  |  |     name##ActionP10(p0##_type gmock_p0, p1##_type gmock_p1, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ |  |  |  |         p2##_type gmock_p2, p3##_type gmock_p3, p4##_type gmock_p4, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p5##_type gmock_p5, p6##_type gmock_p6, p7##_type gmock_p7, \ |  |  |  |         p5##_type gmock_p5, p6##_type gmock_p6, p7##_type gmock_p7, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |         p8##_type gmock_p8, p9##_type gmock_p9) : p0(gmock_p0), p1(gmock_p1), \ |  |  |  |         p8##_type gmock_p8, \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p2(gmock_p2), p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), \ |  |  |  |         p9##_type gmock_p9) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         p7(gmock_p7), p8(gmock_p8), p9(gmock_p9) {}\ |  |  |  |         p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p5(::testing::internal::forward<p5##_type>(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p6(::testing::internal::forward<p6##_type>(gmock_p6)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p7(::testing::internal::forward<p7##_type>(gmock_p7)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p8(::testing::internal::forward<p8##_type>(gmock_p8)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         p9(::testing::internal::forward<p9##_type>(gmock_p9)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     template <typename F>\ |  |  |  |     template <typename F>\ | 
			
		
	
		
		
			
				
					
					|  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ |  |  |  |     class gmock_Impl : public ::testing::ActionInterface<F> {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |      public:\ |  |  |  |      public:\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -2005,9 +2192,16 @@ DoAll(Action1 a1, Action2 a2, Action3 a3, Action4 a4, Action5 a5, Action6 a6, | 
			
		
	
		
		
			
				
					
					|  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ |  |  |  |       gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ |  |  |  |           p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p6##_type gmock_p6, p7##_type gmock_p7, p8##_type gmock_p8, \ |  |  |  |           p6##_type gmock_p6, p7##_type gmock_p7, p8##_type gmock_p8, \ | 
			
		
	
		
		
			
				
					
					|  |  |  |           p9##_type gmock_p9) : p0(gmock_p0), p1(gmock_p1), p2(gmock_p2), \ |  |  |  |           p9##_type gmock_p9) : p0(::testing::internal::forward<p0##_type>(gmock_p0)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p3(gmock_p3), p4(gmock_p4), p5(gmock_p5), p6(gmock_p6), \ |  |  |  |           p1(::testing::internal::forward<p1##_type>(gmock_p1)), \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           p7(gmock_p7), p8(gmock_p8), p9(gmock_p9) {}\ |  |  |  |           p2(::testing::internal::forward<p2##_type>(gmock_p2)), \ | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p3(::testing::internal::forward<p3##_type>(gmock_p3)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p4(::testing::internal::forward<p4##_type>(gmock_p4)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p5(::testing::internal::forward<p5##_type>(gmock_p5)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p6(::testing::internal::forward<p6##_type>(gmock_p6)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p7(::testing::internal::forward<p7##_type>(gmock_p7)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p8(::testing::internal::forward<p8##_type>(gmock_p8)), \ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           p9(::testing::internal::forward<p9##_type>(gmock_p9)) {}\ | 
			
		
	
		
		
			
				
					
					|  |  |  |       virtual return_type Perform(const args_type& args) {\ |  |  |  |       virtual return_type Perform(const args_type& args) {\ | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ |  |  |  |         return ::testing::internal::ActionHelper<return_type, gmock_Impl>::\ | 
			
		
	
		
		
			
				
					
					|  |  |  |             Perform(this, args);\ |  |  |  |             Perform(this, args);\ | 
			
		
	
	
		
		
			
				
					
					|  |  | @ -2369,7 +2563,7 @@ ACTION_TEMPLATE(ReturnNew, | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | }  // namespace testing
 |  |  |  | }  // namespace testing
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // Include any custom actions added by the local installation.
 |  |  |  | // Include any custom callback actions added by the local installation.
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | // We must include this header at the end to make sure it can use the
 |  |  |  | // We must include this header at the end to make sure it can use the
 | 
			
		
	
		
		
			
				
					
					|  |  |  | // declarations from this file.
 |  |  |  | // declarations from this file.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | #include "gmock/internal/custom/gmock-generated-actions.h" |  |  |  | #include "gmock/internal/custom/gmock-generated-actions.h" | 
			
		
	
	
		
		
			
				
					
					|  |  | 
 |