3 #include "MpiStructBuilder.h" 20 base_ = MPI::Get_address(objectAddress);
28 addresses_[nMember_] = MPI::Get_address(memberAddress);
29 types_[nMember_] = type;
30 counts_[nMember_] = count;
41 for (
int i = 0; i < nMember_; ++i) {
42 addresses_[i] = addresses_[i] - base_;
45 MPI::Datatype::Create_struct(nMember_, counts_, addresses_, types_);
void addMember(void *memberAddress, MPI::Datatype type, int count=1)
Add a new member variable to the type map.
File containing preprocessor macros for error handling.
void setBase(void *objectAddress)
Set address of an class instance.
void commit(MPI::Datatype &newType)
Build and commit a user-defined MPI Struct datatype.
MpiStructBuilder()
Default constructor.
Utility classes for scientific computation.