Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SMPI colls in not really C++. But cleaner than before.
[simgrid.git] / src / smpi / smpi_datatype_derived.cpp
index c6aeec1..7a8bc0f 100644 (file)
@@ -21,15 +21,15 @@ namespace smpi{
 
 
 Type_Contiguous::Type_Contiguous(int size, MPI_Aint lb, MPI_Aint ub, int flags, int block_count, MPI_Datatype old_type): Datatype(size, lb, ub, flags), block_count_(block_count), old_type_(old_type){
-  old_type_->use();
+  old_type_->ref();
 }
 
 Type_Contiguous::~Type_Contiguous(){
-  old_type_->unuse();
+  Datatype::unref(old_type_);
 }
 
-void Type_Contiguous::use(){
-  old_type_->use();
+void Type_Contiguous::ref(){
+  old_type_->ref();
 };
 
 void Type_Contiguous::serialize( void* noncontiguous_buf, void *contiguous_buf, 
@@ -49,15 +49,15 @@ void Type_Contiguous::unserialize( void* contiguous_buf, void *noncontiguous_buf
 
 
 Type_Vector::Type_Vector(int size,MPI_Aint lb, MPI_Aint ub, int flags, int count, int block_length, int stride, MPI_Datatype old_type): Datatype(size, lb, ub, flags), block_count_(count), block_length_(block_length),block_stride_(stride),  old_type_(old_type){
-old_type_->use();
+  old_type_->ref();
 }
 
 Type_Vector::~Type_Vector(){
-  old_type_->unuse();
+  Datatype::unref(old_type_);
 }
 
-void Type_Vector::use(){
-  old_type_->use();
+void Type_Vector::ref(){
+  old_type_->ref();
 }
 
 
@@ -104,13 +104,13 @@ void Type_Vector::unserialize( void* contiguous_buf, void *noncontiguous_buf,
 }
 
 Type_Hvector::Type_Hvector(int size,MPI_Aint lb, MPI_Aint ub, int flags, int count, int block_length, MPI_Aint stride, MPI_Datatype old_type): Datatype(size, lb, ub, flags), block_count_(count), block_length_(block_length), block_stride_(stride), old_type_(old_type){
-  old_type->use();
+  old_type->ref();
 }
 Type_Hvector::~Type_Hvector(){
-  old_type_->unuse();
+  Datatype::unref(old_type_);
 }
-void Type_Hvector::use(){
-  old_type_->use();
+void Type_Hvector::ref(){
+  old_type_->ref();
 }
 
 void Type_Hvector::serialize( void* noncontiguous_buf, void *contiguous_buf, 
@@ -155,7 +155,7 @@ void Type_Hvector::unserialize( void* contiguous_buf, void *noncontiguous_buf,
 }
 
 Type_Indexed::Type_Indexed(int size,MPI_Aint lb, MPI_Aint ub, int flags, int count, int* block_lengths, int* block_indices, MPI_Datatype old_type): Datatype(size, lb, ub, flags), block_count_(count), old_type_(old_type){
-  old_type->use();
+  old_type->ref();
   block_lengths_ = new int[count];
   block_indices_ = new int[count];
   for (int i = 0; i < count; i++) {
@@ -165,15 +165,15 @@ Type_Indexed::Type_Indexed(int size,MPI_Aint lb, MPI_Aint ub, int flags, int cou
 }
 
 Type_Indexed::~Type_Indexed(){
-  old_type_->unuse();
-  if(in_use_==0){
+  Datatype::unref(old_type_);
+  if(refcount_==0){
     delete[] block_lengths_;
     delete[] block_indices_;
   }
 }
 
-void Type_Indexed::use(){
-  old_type_->use();
+void Type_Indexed::ref(){
+  old_type_->ref();
 }
 
 void Type_Indexed::serialize( void* noncontiguous_buf, void *contiguous_buf, 
@@ -227,7 +227,7 @@ void Type_Indexed::unserialize( void* contiguous_buf, void *noncontiguous_buf,
 Type_Hindexed::Type_Hindexed(int size,MPI_Aint lb, MPI_Aint ub, int flags, int count, int* block_lengths, MPI_Aint* block_indices, MPI_Datatype old_type)
 : Datatype(size, lb, ub, flags), block_count_(count), old_type_(old_type)
 {
-  old_type_->use();
+  old_type_->ref();
   block_lengths_ = new int[count];
   block_indices_ = new MPI_Aint[count];
   for (int i = 0; i < count; i++) {
@@ -237,15 +237,15 @@ Type_Hindexed::Type_Hindexed(int size,MPI_Aint lb, MPI_Aint ub, int flags, int c
 }
 
     Type_Hindexed::~Type_Hindexed(){
-  old_type_->unuse();
-  if(in_use_==0){
+  Datatype::unref(old_type_);
+  if(refcount_==0){
     delete[] block_lengths_;
     delete[] block_indices_;
   }
 }
 
-void Type_Hindexed::use(){
-  old_type_->use();
+void Type_Hindexed::ref(){
+  old_type_->ref();
 }
 void Type_Hindexed::serialize( void* noncontiguous_buf, void *contiguous_buf, 
                 int count){
@@ -299,24 +299,24 @@ Type_Struct::Type_Struct(int size,MPI_Aint lb, MPI_Aint ub, int flags, int count
     block_lengths_[i]=block_lengths[i];
     block_indices_[i]=block_indices[i];
     old_types_[i]=old_types[i];
-    old_types_[i]->use();
+    old_types_[i]->ref();
   }
 }
 
 Type_Struct::~Type_Struct(){
   for (int i = 0; i < block_count_; i++) {
-    old_types_[i]->unuse();
+    Datatype::unref(old_types_[i]);
   }
-  if(in_use_==0){
+  if(refcount_==0){
     delete[] block_lengths_;
     delete[] block_indices_;
     delete[] old_types_;
   }
 }
 
-void Type_Struct::use(){
+void Type_Struct::ref(){
   for (int i = 0; i < block_count_; i++) {
-    old_types_[i]->use();
+    old_types_[i]->ref();
   }
 }