message: Simplify the recursive tmeplate in TypedKernel
diff: @@ -525,16 +525,19 @@ class TypedKernel : public KernelBase {
  // structure.
  void PackParams(KernelArgsArray<kNumberOfParameters> *args,
  Params &... params) const {
  - PackOneParam(args, params...);
  + PackOneParamFromList(args, params...);
  }
  template <typename T, typename... RestOfParams>
  - void PackOneParam(KernelArgsArray<kNumberOfParameters> *args, const T &arg,
  - const RestOfParams &... rest) const {
  + void PackOneParamFromList(KernelArgsArray<kNumberOfParameters> *args,
  + const T &arg, const RestOfParams &... rest) const {
  PackOneParam(args, arg);
  - PackOneParam(args, rest...);
  + PackOneParamFromList(args, rest...);
  }
  + // Base case for variadic template expansion - nothing to do!
  + void PackOneParamFromList(KernelArgsArray<kNumberOfParameters> *args) const {}
  +
  // Packs one (non-DeviceMemoryBase) parameter into the arg and sizes array.
  // The enable_if<> is for excluding DeviceMemoryBase args, which have a
  // separate implementation below.
  @@ -581,9 +584,6 @@ class TypedKernel : public KernelBase {
  args->add_shared_bytes(arg.size());
  }
  - // Base case for variadic template expansion - nothing to do!
  - void PackOneParam(KernelArgsArray<kNumberOfParameters> *args) const {}
  -
  SE_DISALLOW_COPY_AND_ASSIGN(TypedKernel);
  };
  