From 8e7a4b66e8d5480c9f3040f5d2098fa9138f0925 Mon Sep 17 00:00:00 2001
From: Ian Coolidge <icoolidge@google.com>
Date: Mon, 11 Jan 2016 13:31:03 -0800
Subject: [PATCH] Fix R/W template argument order in prototypes

In some cases, the prototype argument order was different
than the declaration order.

Based on a patch from Sam Leffler.
---
 include/grpc++/channel.h          | 8 ++++----
 include/grpc++/client_context.h   | 8 ++++----
 include/grpc++/completion_queue.h | 8 ++++----
 include/grpc++/server_context.h   | 8 ++++----
 4 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/include/grpc++/channel.h b/include/grpc++/channel.h
index d6d72a9cf9..de3ebfebd4 100644
--- a/include/grpc++/channel.h
+++ b/include/grpc++/channel.h
@@ -54,13 +54,13 @@ template <class R>
 class ClientReader;
 template <class W>
 class ClientWriter;
-template <class R, class W>
+template <class W, class R>
 class ClientReaderWriter;
 template <class R>
 class ClientAsyncReader;
 template <class W>
 class ClientAsyncWriter;
-template <class R, class W>
+template <class W, class R>
 class ClientAsyncReaderWriter;
 template <class R>
 class ClientAsyncResponseReader;
@@ -98,13 +98,13 @@ class Channel GRPC_FINAL : public GrpcLibrary,
   friend class ::grpc::ClientReader;
   template <class W>
   friend class ::grpc::ClientWriter;
-  template <class R, class W>
+  template <class W, class R>
   friend class ::grpc::ClientReaderWriter;
   template <class R>
   friend class ::grpc::ClientAsyncReader;
   template <class W>
   friend class ::grpc::ClientAsyncWriter;
-  template <class R, class W>
+  template <class W, class R>
   friend class ::grpc::ClientAsyncReaderWriter;
   template <class R>
   friend class ::grpc::ClientAsyncResponseReader;
diff --git a/include/grpc++/client_context.h b/include/grpc++/client_context.h
index ab8ffb6474..24f80abdc8 100644
--- a/include/grpc++/client_context.h
+++ b/include/grpc++/client_context.h
@@ -76,13 +76,13 @@ template <class R>
 class ClientReader;
 template <class W>
 class ClientWriter;
-template <class R, class W>
+template <class W, class R>
 class ClientReaderWriter;
 template <class R>
 class ClientAsyncReader;
 template <class W>
 class ClientAsyncWriter;
-template <class R, class W>
+template <class W, class R>
 class ClientAsyncReaderWriter;
 template <class R>
 class ClientAsyncResponseReader;
@@ -304,13 +304,13 @@ class ClientContext {
   friend class ::grpc::ClientReader;
   template <class W>
   friend class ::grpc::ClientWriter;
-  template <class R, class W>
+  template <class W, class R>
   friend class ::grpc::ClientReaderWriter;
   template <class R>
   friend class ::grpc::ClientAsyncReader;
   template <class W>
   friend class ::grpc::ClientAsyncWriter;
-  template <class R, class W>
+  template <class W, class R>
   friend class ::grpc::ClientAsyncReaderWriter;
   template <class R>
   friend class ::grpc::ClientAsyncResponseReader;
diff --git a/include/grpc++/completion_queue.h b/include/grpc++/completion_queue.h
index 0ea970417e..b479239b63 100644
--- a/include/grpc++/completion_queue.h
+++ b/include/grpc++/completion_queue.h
@@ -49,13 +49,13 @@ template <class R>
 class ClientReader;
 template <class W>
 class ClientWriter;
-template <class R, class W>
+template <class W, class R>
 class ClientReaderWriter;
 template <class R>
 class ServerReader;
 template <class W>
 class ServerWriter;
-template <class R, class W>
+template <class W, class R>
 class ServerReaderWriter;
 template <class ServiceType, class RequestType, class ResponseType>
 class RpcMethodHandler;
@@ -151,13 +151,13 @@ class CompletionQueue : public GrpcLibrary {
   friend class ::grpc::ClientReader;
   template <class W>
   friend class ::grpc::ClientWriter;
-  template <class R, class W>
+  template <class W, class R>
   friend class ::grpc::ClientReaderWriter;
   template <class R>
   friend class ::grpc::ServerReader;
   template <class W>
   friend class ::grpc::ServerWriter;
-  template <class R, class W>
+  template <class W, class R>
   friend class ::grpc::ServerReaderWriter;
   template <class ServiceType, class RequestType, class ResponseType>
   friend class RpcMethodHandler;
diff --git a/include/grpc++/server_context.h b/include/grpc++/server_context.h
index 85f384d477..abb3e5aa03 100644
--- a/include/grpc++/server_context.h
+++ b/include/grpc++/server_context.h
@@ -58,13 +58,13 @@ template <class W>
 class ServerAsyncWriter;
 template <class W>
 class ServerAsyncResponseWriter;
-template <class R, class W>
+template <class W, class R>
 class ServerAsyncReaderWriter;
 template <class R>
 class ServerReader;
 template <class W>
 class ServerWriter;
-template <class R, class W>
+template <class W, class R>
 class ServerReaderWriter;
 template <class ServiceType, class RequestType, class ResponseType>
 class RpcMethodHandler;
@@ -145,13 +145,13 @@ class ServerContext {
   friend class ::grpc::ServerAsyncWriter;
   template <class W>
   friend class ::grpc::ServerAsyncResponseWriter;
-  template <class R, class W>
+  template <class W, class R>
   friend class ::grpc::ServerAsyncReaderWriter;
   template <class R>
   friend class ::grpc::ServerReader;
   template <class W>
   friend class ::grpc::ServerWriter;
-  template <class R, class W>
+  template <class W, class R>
   friend class ::grpc::ServerReaderWriter;
   template <class ServiceType, class RequestType, class ResponseType>
   friend class RpcMethodHandler;
-- 
GitLab