CCAFFEINE  0.8.8
DefaultMPIBorrow.h
00001 #ifdef _CCAMPI
00002 #ifndef DefaultMPIBorrow_h_seen
00003 #define DefaultMPIBorrow_h_seen
00004 #include "util/noSeekMPI.h"
00005 #include <mpi.h>
00006 #include "dc/export/config.hh"
00007 class DefaultMPIBorrow
00008 #if (defined(HAVE_NEO) || defined(HAVE_CLASSIC))
00009 : 
00010 #endif
00011 #ifdef HAVE_CLASSIC
00012 public virtual classic::gov::cca::MPIBorrow
00013 #endif // HAVE_CLASSIC
00014 #ifdef HAVE_NEO
00015 
00016 #ifdef HAVE_CLASSIC
00017 , // need a , only if classic preceding
00018 #endif // HAVE_CLASSIC
00019 public virtual neo::cca::Port
00020 , public virtual neo::cca::ports::MPIBorrow
00021 #endif // HAVE_NEO
00022 
00023 {
00024 
00025 private:
00026 
00028         int maxTag;
00029 
00031         int maxKey;
00032         
00033         // ur-communicator 
00034         int64_t fortranMPIComm; 
00035 public:
00036 
00040   DefaultMPIBorrow(int64_t fComm);
00041 
00042   virtual ~DefaultMPIBorrow();
00043 
00048   virtual MPI_Comm borrowComm(int, int*, int&);
00049 
00051   virtual void returnComm(MPI_Comm, int, int*, int);
00052 
00053 };
00054 #endif //DefaultMPIBorrow_h_seen
00055 #endif // _CCAMPI