]> AND Public Git Repository - simgrid.git/blobdiff - src/smpi/include/smpi_datatype.hpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix most of spelling mistakes in src/
[simgrid.git] / src / smpi / include / smpi_datatype.hpp
index 6e720fcd12fd6a77f8bfffb896d523bb8ceb2707..467162eb52f07236b3ffdf6f29e8cfdc26441809 100644 (file)
@@ -20,7 +20,7 @@ constexpr unsigned DT_FLAG_PREDEFINED  = 0x0040; /**< cannot be removed: initial
 constexpr unsigned DT_FLAG_NO_GAPS     = 0x0080; /**< no gaps around the datatype */
 constexpr unsigned DT_FLAG_DATA        = 0x0100; /**< data or control structure */
 constexpr unsigned DT_FLAG_ONE_SIDED   = 0x0200; /**< datatype can be used for one sided operations */
-constexpr unsigned DT_FLAG_UNAVAILABLE = 0x0400; /**< datatypes unavailable on the build (OS or compiler dependant) */
+constexpr unsigned DT_FLAG_UNAVAILABLE = 0x0400; /**< datatypes unavailable on the build (OS or compiler dependent) */
 constexpr unsigned DT_FLAG_DERIVED     = 0x0800; /**< is the datatype derived ? */
 /*
  * We should make the difference here between the predefined contiguous and non contiguous
@@ -88,6 +88,8 @@ class Datatype_contents {
                     int number_of_integers, const int* integers, 
                     int number_of_addresses, const MPI_Aint* addresses, 
                     int number_of_datatypes, const MPI_Datatype* datatypes);
+  Datatype_contents(const Datatype_contents&) = delete;
+  Datatype_contents& operator=(const Datatype_contents&) = delete;
   ~Datatype_contents();
 };
 
@@ -128,6 +130,7 @@ public:
   void ref();
   static void unref(MPI_Datatype datatype);
   void commit();
+  int copy_attrs(Datatype* datatype);
   bool is_valid();
   bool is_basic();
   static const char* encode(const Datatype* dt) { return dt->id.c_str(); }
@@ -140,6 +143,7 @@ public:
   void set_name(const char* name);
   static int copy(const void* sendbuf, int sendcount, MPI_Datatype sendtype, void* recvbuf, int recvcount,
                   MPI_Datatype recvtype);
+  virtual int clone(MPI_Datatype* type);
   virtual void serialize(const void* noncontiguous, void* contiguous, int count);
   virtual void unserialize(const void* contiguous, void* noncontiguous, int count, MPI_Op op);
   static int keyval_create(MPI_Type_copy_attr_function* copy_fn, MPI_Type_delete_attr_function* delete_fn, int* keyval,