00001 #ifndef neoMPIBorrow_h_seen
00002 #define neoMPIBorrow_h_seen
00003
00004
00005
00006
00007 #ifdef MPI_COMM_NULL // this file is empty if mpi.h is not included
00008
00009 namespace neo {
00010 namespace cca {
00011 namespace ports {
00012
00013
00018 class MPIBorrow : public virtual neo::cca::Port {
00019
00020 public:
00021
00022
00024 virtual ~MPIBorrow() {}
00025
00039 virtual MPI_Comm borrowComm(int tagCount, int *tagList, int &key)= 0;
00040
00048 virtual void returnComm(MPI_Comm, int tagCount, int *tagList, int key)= 0;
00049 };
00050
00051 }
00052 }
00053 }
00054
00055 #endif // MPI_CONGRUENT
00056
00057 #endif // neoMPIBorrow_h_seen