- Type_Struct(int size, MPI_Aint lb, MPI_Aint ub, int flags, int block_count, int* block_lengths,
- MPI_Aint* block_indices, MPI_Datatype* old_types);
- ~Type_Struct();
- void serialize(void* noncontiguous, void* contiguous, int count);
- void unserialize(void* contiguous_vector, void* noncontiguous_vector, int count, MPI_Op op);
+ Type_Struct(int size, MPI_Aint lb, MPI_Aint ub, int flags, int block_count, const int* block_lengths,
+ const MPI_Aint* block_indices, const MPI_Datatype* old_types);
+ Type_Struct(const Type_Struct&) = delete;
+ Type_Struct& operator=(const Type_Struct&) = delete;
+ int clone(MPI_Datatype* type) override;
+ ~Type_Struct() override;
+ void serialize(const void* noncontiguous, void* contiguous, int count) override;
+ void unserialize(const void* contiguous_vector, void* noncontiguous_vector, int count, MPI_Op op) override;