diff --git a/include/grpc++/impl/call.h b/include/grpc++/impl/call.h index 98f61b18e151925eeb7c108d837a74e9f6082bf5..eef0e90cc99f6b52f804ea4e456dcaaa7c95d011 100644 --- a/include/grpc++/impl/call.h +++ b/include/grpc++/impl/call.h @@ -98,9 +98,7 @@ class CallOpSendMessage { CallOpSendMessage() : send_buf_(nullptr), own_buf_(false) {} template <class M> - bool SendMessage(const M& message) GRPC_MUST_USE_RESULT { - return SerializationTraits<M>::Serialize(message, &send_buf_, &own_buf_); - } + bool SendMessage(const M& message) GRPC_MUST_USE_RESULT; protected: void AddOp(grpc_op* ops, size_t* nops) { @@ -118,6 +116,11 @@ class CallOpSendMessage { bool own_buf_; }; +template <class M> +bool CallOpSendMessage::SendMessage(const M& message) { + return SerializationTraits<M>::Serialize(message, &send_buf_, &own_buf_); +} + template <class R> class CallOpRecvMessage { public: