namespace smpi{
class Datatype{
-//TODO: remove
- public:
+ protected:
char* name_;
size_t size_;
MPI_Aint lb_;
int in_use_;
public:
- Datatype(int size,int lb, int ub, int flags);
- Datatype(char* name, int size,int lb, int ub, int flags);
- Datatype(Datatype *datatype);
+ Datatype(int size,MPI_Aint lb, MPI_Aint ub, int flags);
+ Datatype(char* name, int size,MPI_Aint lb, MPI_Aint ub, int flags);
+ Datatype(Datatype *datatype, int* ret);
virtual ~Datatype();
void use();
void unuse();
int block_count_;
MPI_Datatype old_type_;
public:
- Type_Contiguous(int size, int lb, int ub, int flags, int block_count, MPI_Datatype old_type);
+ Type_Contiguous(int size, MPI_Aint lb, MPI_Aint ub, int flags, int block_count, MPI_Datatype old_type);
~Type_Contiguous();
void use();
void serialize( void* noncontiguous, void *contiguous,
int block_stride_;
MPI_Datatype old_type_;
public:
- Type_Vector(int size,int lb, int ub, int flags, int count, int blocklen, int stride, MPI_Datatype old_type);
+ Type_Vector(int size,MPI_Aint lb, MPI_Aint ub, int flags, int count, int blocklen, int stride, MPI_Datatype old_type);
~Type_Vector();
void use();
void serialize( void* noncontiguous, void *contiguous,
MPI_Aint block_stride_;
MPI_Datatype old_type_;
public:
- Type_Hvector(int size,int lb, int ub, int flags, int block_count, int block_length, MPI_Aint block_stride, MPI_Datatype old_type);
+ Type_Hvector(int size,MPI_Aint lb, MPI_Aint ub, int flags, int block_count, int block_length, MPI_Aint block_stride, MPI_Datatype old_type);
~Type_Hvector();
void use();
void serialize( void* noncontiguous, void *contiguous,
int* block_indices_;
MPI_Datatype old_type_;
public:
- Type_Indexed(int size,int lb, int ub, int flags, int block_count, int* block_lengths, int* block_indices, MPI_Datatype old_type);
+ Type_Indexed(int size,MPI_Aint lb, MPI_Aint ub, int flags, int block_count, int* block_lengths, int* block_indices, MPI_Datatype old_type);
~Type_Indexed();
void use();
void serialize( void* noncontiguous, void *contiguous,
MPI_Aint* block_indices_;
MPI_Datatype old_type_;
public:
- Type_Hindexed(int size,int lb, int ub, int flags, int block_count, int* block_lengths, MPI_Aint* block_indices, MPI_Datatype old_type);
+ Type_Hindexed(int size,MPI_Aint lb, MPI_Aint ub, int flags, int block_count, int* block_lengths, MPI_Aint* block_indices, MPI_Datatype old_type);
~Type_Hindexed();
void use();
void serialize( void* noncontiguous, void *contiguous,
MPI_Aint* block_indices_;
MPI_Datatype* old_types_;
public:
- Type_Struct(int size,int lb, int ub, int flags, int block_count, int* block_lengths, MPI_Aint* block_indices, MPI_Datatype* old_types);
+ 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 use();
void serialize( void* noncontiguous, void *contiguous,