return (flags_ & DT_FLAG_BASIC);
}
-const char* Datatype::encode()
+const char* Datatype::encode(MPI_Datatype dt)
{
- return std::to_string(id).c_str();
+ if (dt == MPI_DATATYPE_NULL)
+ return "-1";
+
+ return std::to_string(dt->id).c_str();
}
-MPI_Datatype Datatype::decode(const char* const datatype_id)
+MPI_Datatype Datatype::decode(std::string datatype_id)
{
return id2type_lookup.find(std::stoi(datatype_id))->second;
}