diff --git a/paddle/framework/op_registry.h b/paddle/framework/op_registry.h index 804f901dfa278384eb281a2650ae7aa724639fb9..4db38badaea8ae22d9ad47951f4941f3bdeb401a 100644 --- a/paddle/framework/op_registry.h +++ b/paddle/framework/op_registry.h @@ -103,18 +103,19 @@ class OpRegistrar : public Registrar { template struct OpKernelRegistrarFunctor; -template -struct OpKernelRegistrarFunctor { - using KT = typename std::tuple_element>::type; +template +struct OpKernelRegistrarFunctor { + using KERNEL_TYPE = + typename std::tuple_element>::type; void operator()(const char* op_type) const { - using T = typename KT::ELEMENT_TYPE; + using T = typename KERNEL_TYPE::ELEMENT_TYPE; OperatorWithKernel::OpKernelKey key(ToDataType(std::type_index(typeid(T))), PlaceType()); - OperatorWithKernel::AllOpKernels()[op_type][key].reset(new KT); + OperatorWithKernel::AllOpKernels()[op_type][key].reset(new KERNEL_TYPE); - constexpr auto size = std::tuple_size>::value; - OpKernelRegistrarFunctor + constexpr auto size = std::tuple_size>::value; + OpKernelRegistrarFunctor func; func(op_type); }