NEOCCA bindings Specification  0.2.8
MPIBorrow.hh
Go to the documentation of this file.
00001 #ifndef neoMPIBorrow_h_seen
00002 #define neoMPIBorrow_h_seen
00003 
00004 //requires:
00005 //#include <neocca.h>
00006 //#include <mpi.h>
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 }  // end namespace ports
00052 }  // end namespace cca
00053 }  // end namespace neo
00054 
00055 #endif // MPI_CONGRUENT
00056 
00057 #endif // neoMPIBorrow_h_seen