|
|
|
@ -3392,7 +3392,8 @@ class MaybeOpImpl { |
|
|
|
|
// Once we express our surface API in terms of core internal types this whole
|
|
|
|
|
// dance will go away.
|
|
|
|
|
template <grpc_op_type op_type, typename SetupFn> |
|
|
|
|
auto MaybeOp(const grpc_op* ops, const std::array<uint8_t, 8>& idxs, SetupFn setup) { |
|
|
|
|
auto MaybeOp(const grpc_op* ops, const std::array<uint8_t, 8>& idxs, |
|
|
|
|
SetupFn setup) { |
|
|
|
|
using SetupResult = decltype(std::declval<SetupFn>()(grpc_op())); |
|
|
|
|
if (idxs[op_type] == 255) { |
|
|
|
|
return MaybeOpImpl<SetupResult, op_type>(); |
|
|
|
|