+
+Datatype_contents::Datatype_contents(int combiner,
+ int number_of_integers, const int* integers,
+ int number_of_addresses, const MPI_Aint* addresses,
+ int number_of_datatypes, const MPI_Datatype* datatypes)
+: combiner_(combiner), number_of_integers_(number_of_integers),
+ number_of_addresses_(number_of_addresses),
+ number_of_datatypes_(number_of_datatypes)
+{
+ integers_=new int[number_of_integers_];
+ for(int i=0; i<number_of_integers_; i++){
+ integers_[i]=integers[i];
+ }
+ addresses_=new MPI_Aint[number_of_addresses_];
+ for(int i=0; i<number_of_addresses_; i++){
+ addresses_[i]=addresses[i];
+ }
+ datatypes_=new MPI_Datatype[number_of_datatypes_];
+ for(int i=0; i<number_of_datatypes_; i++){
+ datatypes_[i]=datatypes[i];
+ }
+};
+Datatype_contents::~Datatype_contents(){
+ delete[] integers_;
+ delete[] addresses_;
+ delete[] datatypes_;
+}
+