- Op(MPI_User_function* function, bool commutative, bool predefined=false, int types=0) : func_(function), is_commutative_(commutative), is_predefined_(predefined), types_(types) {if(not predefined) this->add_f();}
+ Op(MPI_User_function* function, bool commutative, bool predefined = false, int types = 0, std::string name = "MPI_Op")
+ : func_(function), is_commutative_(commutative), is_predefined_(predefined), types_(types), name_(std::move(name))
+ {
+ if (not predefined)
+ this->add_f();
+ }